Tam tikrais atvejais turime ištrinti tam tikrą failo ar kelių eilučių, pavyzdžiui, man nutiko, kad turėjau visą failų sąrašą ir turiu ištrinti visų 27 eilutes (27 eilutė yra ACL eilutė) , norma, taisyklė, konfigūracija), arba aš galiu redaguoti failą pagal failą, arba tiesiog pasiekiu tai, ko man reikia, naudodamas komandą troškulys ir bash scenarijų (nebūtina).
Pabandykime šiek tiek paprastą failą.
Mes turime bylą distros-deb.txt kuriame yra tai:
Debian
ubuntu
Archlinux
solus
mėta
Tai yra byla distros-deb.txt yra tas, kuriame mes įdėsime „Debian“ pagrindu veikiančius distros, bet ten matome, kad 3 eilutėje yra „archlinux“, platintojas, kuris, aišku, neturi nieko bendro su „Debian“, todėl turime pašalinti šią eilutę. Norėdami pašalinti šio failo 3 eilutę, įdėsime:
sed "3d" distros-deb.txt > distros-deb-ok.txt
Paaiškinti šią eilutę yra šiek tiek lengva, su troškulys „3d“ nurodome, kad ištrinsime 3 eilutę su distros-deb.txt Nurodome, kurį failą reikia dirbti, tai yra, ištrinkite šio failo 3 eilutę, iki čia, jei paspausime Enter, ji parodys mums, ko norime, bet ne terminale, taigi su > distros-deb-ok.txt mes nurodome, kad užuot rodęs rezultatą terminale, jis įdėjo jį į failą tokiu pavadinimu.
Kas yra paprasta?
Taip pat galime išvengti > distros-deb-ok.txt naudojant tinkamą parametrą troškulysparametras -i
Tai yra, jei norime pašalinti eilutę iš failo ir išsaugoti ją tuo pačiu pavadinimu (o ne kitame faile), tiesiog pridėkite parametrą -i :
sed -i "3d" distros-deb.txt
Tai pašalins 3 eilutę iš distros-deb.txt ir išsaugos.
Ką daryti, jei noriu eilutės diapazono, t. Y. Pašalinti linijas Nr. 3, taip pat Nr. 4 ir Nr. 5? Norėdami tai pasiekti, mes nustatėme diapazoną nuo 3 iki 5, tai yra:
sed -i "3,5d" distros-deb.txt
Ir man parodys tik debian ir kubuntu
Ką daryti, jei noriu ištrinti iš 2 eilutės į paskutinę, kai nežinau visų eilučių?
Tiesiog naudokite dolerio simbolį - »$
sed -i "2,$d" distros-deb.txt
Jei norite pašalinti iš pirmos eilutės į # 4, tada pradžioje tiesiog įrašome vertę 1:
sed -i "1,4d" distros-deb.txt
Tai buvo viskas, labai naudingas patarimas, kai norite sukurti „bash“ scenarijus, kad automatizuotumėte užduotis, ir jums reikia modifikuoti ir pašalinti konfigūracijos failų eilutes, kad galėtume modifikuoti troškulys o perl, taip pat pašalinti jau žinome, kaip tai padaryti su sed
saludos