Nếu các dòng được lập bảng là những dòng có ký tự tab:
grep '␉' <input_file >output_file
( ␉
là một ký tự tab theo nghĩa đen) hoặc tương đương
sed -n '/␉/p' <input_file >output_file
Trong tập lệnh bash / ksh / zsh, bạn có thể viết $'\t'
cho một tab, ví dụ grep $'\t'
hoặc sed -n $'/\t/p'
.
Nếu bạn muốn loại bỏ 10 dòng ở đầu tệp:
tail -n +11 <input_file >output_file
(lưu ý rằng +11
cần loại bỏ 10 dòng, vì +11
có nghĩa là bắt đầu từ dòng 11 số và các dòng số đuôi từ 1) hoặc
sed '1,10d' <input_file >output_file
Trên Linux, bạn có thể tận dụng -i
tùy chọn của GNU sed để sửa đổi các tệp tại chỗ:
sed -i -n '/\t/p' *.txt
Hoặc bạn có thể sử dụng vòng lặp shell và các tệp tạm thời:
for x in *.txt; do
tail -n +11 <"$x" >"$x.tmp"
mv "$x.tmp" "$x"
done
Hoặc nếu bạn không muốn sửa đổi các tệp tại chỗ, nhưng thay vào đó hãy đặt cho chúng một tên khác:
for x in *.txt; do
tail -n +11 <"$x" >"${x%.txt}.data"
done
sed -i -e 1,3d yourfile
. Điều này sẽ không lặp lại bất cứ điều gì, nó sẽ chỉ sửa đổi các tập tin tại chỗ. Nếu bạn không cần chuyển kết quả sang lệnh khác, việc này sẽ dễ dàng hơn.