Mam folder z ok 5GB plików (jest ich tam ponad 3 000 000) wszystko to pliki tekstowe.
Jak usunąć z tych plików całe linie, które na swoim początku zawierają określony taki sam ciąg znaków?
Szukam programu do tego typu zadania.
0
1
sed
, awk
, perl
0
@Saalin: Będzie to dobrze działać?
sed-i"/USUŃ TEN TEKST/d" /var/log/
0
@q-sha: Działa ok takie polecenie:
sed '/słowo do skasowania/d' /path/to/folder
Ale nie kasuje treści w podkatalogach tylko w bieżącym folderze - jak zrobić, żeby kasował również w podfolderach?
1
find path_to_root_directory -type f -print0 \
| xargs -0 $SHELL -c 'tmp_file="$( mktemp )"; trap '\''rm "$tmp_file"'\'' EXIT; while [ -n "$1" ]; do sed -e '\''/^jakiś początek linii/d'\'' "$1" >"$tmp_file" && cp "$tmp_file" "$1"; shift; done' $SHELL
Polecam sprawdzić na małej próbce danych i dostosować...
0
Obczaj sobie
egrep -v '^twoje tajne zdanie' plik