Jeśli linie tabelaryczne to te, które mają znak tabulacji:
grep '␉' <input_file >output_file
( ␉
będący dosłownym znakiem tabulacji) lub równoważnie
sed -n '/␉/p' <input_file >output_file
W skrypcie bash / ksh / zsh możesz pisać $'\t'
dla karty, np . grep $'\t'
Lub sed -n $'/\t/p'
.
Jeśli chcesz wyeliminować 10 linii na początku pliku:
tail -n +11 <input_file >output_file
(zwróć uwagę, że ma to na +11
celu wyeliminowanie 10 linii, ponieważ +11
oznacza „zacznij od linii 11”, a numery linii od 1) lub
sed '1,10d' <input_file >output_file
W systemie Linux możesz skorzystać z opcji GNU sed, -i
aby zmodyfikować pliki w miejscu:
sed -i -n '/\t/p' *.txt
Lub możesz użyć pętli powłoki i plików tymczasowych:
for x in *.txt; do
tail -n +11 <"$x" >"$x.tmp"
mv "$x.tmp" "$x"
done
Lub jeśli nie chcesz modyfikować plików w miejscu, ale zamiast tego nadaj im inną nazwę:
for x in *.txt; do
tail -n +11 <"$x" >"${x%.txt}.data"
done
sed -i -e 1,3d yourfile
. To nic nie powtórzy, po prostu zmodyfikuje plik w miejscu. Jeśli nie musisz przesyłać wyniku do innego polecenia, jest to łatwiejsze.