Teatud juhtudel peame kustutama failist konkreetse rea või mitu, näiteks on minuga juhtunud, et mul on olnud terve failide loend ja ma pean kustutama nende kõigi rida nr 27 (rida nr 27 on ACL-i rida) , norm, reegel, konfiguratsioon), kas ma saan faili failide kaupa redigeerida või saan käsuga lihtsalt saavutada vajaliku janu ja bashi skript (valikuline).
Kuid proovime ühte faili mõnevõrra lihtsana.
Toimik on meil olemas distros-deb.txt mis sisaldab seda:
debian
ubuntu
Archlinux
soolad
piparmünt
Teisisõnu fail distros-deb.txt on see, kuhu me paneme Debiani-põhised distrod, kuid seal näeme, et real # 3 on "archlinux", distro, millel pole ilmselgelt midagi pistmist Debianiga, seega peame selle rea kõrvaldama. Selle faili rea nr 3 kõrvaldamiseks paneme järgmise:
sed "3d" distros-deb.txt > distros-deb-ok.txt
Selle joone selgitamine on mõnevõrra lihtne, kasutades janu "3d" me näitame, et kustutame rea nr 3 koos distros-deb.txt Me näitame, millise failiga töötada, st kustutage selle faili rida nr 3, siia vajutades sisestusklahvi , näitab see, mida me tahame, kuid terminalis, nii et > distros-deb-ok.txt me näitame, et selle asemel, et tulemust terminalis näidata, pani ta selle sellenimelisse faili.
Mis on lihtne?
Samuti võime vältida > distros-deb-ok.txt õige parameetri abil janu, parameeter -i
See tähendab, et kui me tahame failist rea eemaldada ja selle sama nimega (ja mitte mõnesse muusse faili) salvestada, lisage lihtsalt parameeter -i :
sed -i "3d" distros-deb.txt
See eemaldab distros-deb.txt-st rea nr 3 ja salvestab selle.
Mis siis, kui ma tahan ridade vahemikku, see tähendab joonte nr 3, aga ka # 4 ja # 5 eemaldamist? Selle saavutamiseks paneme vahemiku 3 kuni 5, see tähendab:
sed -i "3,5d" distros-deb.txt
Ja see näitab mulle ainult debiani ja kubuntu
Mis siis saab, kui ma tahan kustutada 2. realt viimasele, kui ma ei tea ridade koguarvu?
Kasutage lihtsalt dollari sümbolit - »$
sed -i "2,$d" distros-deb.txt
Kui soovite kõrvaldada esimeselt realt numbrile 4, paneme lihtsalt väärtuse 1 alguses:
sed -i "1,4d" distros-deb.txt
See on olnud kõik, väga kasulik näpunäide, kui soovite teha bash-skripte ülesannete automatiseerimiseks ja peate muutma ja kõrvaldama konfiguratsioonifailide ridu, et saaksime kasutada janu o perl, samuti kõrvaldamiseks teame juba, kuidas seda sed abil teha
seoses