Якщо рядки в таблиці - це ті, що мають символ вкладки:
grep '␉' <input_file >output_file
( ␉
будучи буквеним символом) або подібним чином
sed -n '/␉/p' <input_file >output_file
У сценарії bash / ksh / zsh можна записати $'\t'
для вкладки, наприклад, grep $'\t'
або sed -n $'/\t/p'
.
Якщо ви хочете усунути 10 рядків на початку файлу:
tail -n +11 <input_file >output_file
(зауважте, що це +11
потрібно усунути 10 рядків, оскільки +11
означає "починати з рядка 11", а рядки з номера хвоста з 1) або
sed '1,10d' <input_file >output_file
В Linux ви можете скористатися можливістю GNU sed -i
для зміни файлів на місці:
sed -i -n '/\t/p' *.txt
Або ви можете використовувати цикл оболонки та тимчасові файли:
for x in *.txt; do
tail -n +11 <"$x" >"$x.tmp"
mv "$x.tmp" "$x"
done
Або якщо ви не хочете змінювати файли на місці, а натомість дайте їм інше ім’я:
for x in *.txt; do
tail -n +11 <"$x" >"${x%.txt}.data"
done
sed -i -e 1,3d yourfile
. Це нічого не повторить, воно просто змінить файл на місці. Якщо вам не потрібно передавати результат іншій команді, це простіше.