Se le righe tabulate sono quelle che hanno un carattere tab:
grep '␉' <input_file >output_file
( ␉
essendo un carattere di tabulazione letterale) o equivalentemente
sed -n '/␉/p' <input_file >output_file
In uno script bash / ksh / zsh, puoi scrivere $'\t'
per una scheda, ad esempio grep $'\t'
o sed -n $'/\t/p'
.
Se si desidera eliminare 10 righe all'inizio del file:
tail -n +11 <input_file >output_file
(nota che è +11
per eliminare 10 righe, perché +11
significa "inizia dalla riga 11" e le righe dei numeri di coda da 1) o
sed '1,10d' <input_file >output_file
Su Linux, puoi sfruttare l' -i
opzione di GNU sed per modificare i file in atto:
sed -i -n '/\t/p' *.txt
Oppure puoi usare un loop di shell e file temporanei:
for x in *.txt; do
tail -n +11 <"$x" >"$x.tmp"
mv "$x.tmp" "$x"
done
O se non vuoi modificare i file in atto, ma invece dai loro un nome diverso:
for x in *.txt; do
tail -n +11 <"$x" >"${x%.txt}.data"
done
sed -i -e 1,3d yourfile
. Ciò non farà eco, modificherà semplicemente il file sul posto. Se non è necessario reindirizzare il risultato a un altro comando, questo è più semplice.