你有任何bash解決方案從stdout中刪除N行嗎?在bash上從STDOUT中刪除n行
像一個 '頭' 命令,打印所有行,只除了最後N
巴蜀簡單孤子:
找到./test_dir/ | sed'$ d'| sed'$ d'| sed'$ d'| ...
,但我需要複製sed命令N次
任何更好的解決方案? 除了awk,python等...
你有任何bash解決方案從stdout中刪除N行嗎?在bash上從STDOUT中刪除n行
像一個 '頭' 命令,打印所有行,只除了最後N
巴蜀簡單孤子:
找到./test_dir/ | sed'$ d'| sed'$ d'| sed'$ d'| ...
,但我需要複製sed命令N次
任何更好的解決方案? 除了awk,python等...
使用head
與負數。在我的例子,將打印所有行,但最後3:
head -n -3 infile
如果頭-n -3 filename不您的系統(像我)上工作,你也可以試試下面的辦法(也許它的別名或創建在你的.bashrc的函數)
head -`echo "$(wc -l filename)" | awk '{ print $1 - 3; }'` filename
凡文件名和以上分別是文件和行數。
[打印文件在Bash中跳過X行]的可能的重複(http://stackoverflow.com/questions/604864/print-a-file-skipping-x-lines-in-bash) –
該鏈接適用於跳過前X行,而不是最後X行。 – chepner