我有一個input.txt
文件與代表一些命令行的字符串行,每行有兩個輸入參數:卸下文件中包含匹配文件夾中的文件名
commands a b
commands a c
commands b c
...
而且我想刪除針對其存在的所有行匹配(輸出文件)在文件夾out
。例如,假設只有文件out/a_b_out
和out/b_c_out
存在。然後我想從input.txt
中刪除第一行和第三行。
此外,在out
中可能有數百萬個文件,所以我需要一種有效的方式來查找匹配。另一方面,input
中的行數在數千個數量級上,更易於管理。
我試圖首先提取從輸入文件中的模式(例如cut -d " " -f 2-3 input.txt | sed -e 's/\ /_/g'
),然後遍歷這些項和用grep等
我想知道是否有執行更快和更優雅的方式這個。謝謝!
@retrot回答更新 - 現在應該罰款awk –
雖然你不是從數百萬的文件中建立_index_,但你仍然在循環所有這些,這不是一個好主意。 – mklement0