poniedziałek, 27 lipca 2015

Usuń linię zawierającą określony ciąg przy użyciu sed i nie tylko

Aby usunąć linię i pokazać ja na standardowym wyjściu używając sed:
sed '/wzór do dopasowania/d' ./plik
Aby bezpośrednio zmodyfikować plik (Używając GNU sed):
sed -i '/wzór do dopasowania/d' ./plik
Aby bezpośrednio zmodyfikować plik (Używając AWK):
awk '!/wzór do dopasowania/' plik > temp-plik && mv temp-plik plik
Aby bezpośrednio zmodyfikować plik i zapisać kopię zapasową (Używając Ruby(1.9+)):
ruby -i.bak -ne 'print if not /wzór do dopasowania/' plik
Aby bezpośrednio zmodyfikować plik (Używając GNU grep):
grep -v "grep -v "wzór do dopasowania" plik > temp-plik && mv temp-plik plik" plik > temp-plik && mv temp-plik plik
Aby zmodyfikować plik używając skryptu Shell(bash3.2+)
#!/bin/bash while read -r line do [[ ! $s =~ wzór do dopasowania ]] && echo "$line" done o mv o plik

Brak komentarzy:

Prześlij komentarz

thanks