這個問題在這里已經有了答案: 如何從 grep 中保存匹配和不匹配 (3 個回答) 昨天關閉。
目前,我的 shell 腳本將一個大檔案中的行迭代了兩次:(我想要做的就像下面的 shell 腳本一樣。)
grep 'some_text' huge_file.txt > lines_contains_a.txt
grep -v 'some_text' huge_file.txt > lines_not_contains_a.txt
但它很慢。
如何做同樣的事情只迭代一次?
謝謝!
uj5u.com熱心網友回復:
使用 GNU awk:
awk '/some_text/ { print >> "lines_contains_a.txt" }
!/some_text/ { print >> "lines_not_contains_a.txt" }' huge_file.txt
uj5u.com熱心網友回復:
使用 sed:
sed -n '/some_text/ w lines_contains_a.txt
/some_text/! w lines_not_contains_a.txt' huge_file.txt
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/350257.html
