Ram*_*amy 3 linux grep scripting pipe cut
我有我想要的 cut 命令,它可以抓取文件每一行中的第一个单词。然后我想将 cut 命令中的每个单词放入 foreach 中。然后我想在 foreach 的主体内执行一个 grep 命令,以便在另一个文件中对那个单词进行 grep。
像这样的东西:
@array = (cut /tmp/10218.after -f1);
foreach $word (@lines) {
grep $word /tmp/10218.before;
}
Run Code Online (Sandbox Code Playgroud)
显然@array 赋值不起作用。我该如何解决这个问题?
我确信有很多方法我只是不知道它们是什么,或者哪个是最好的或足够好的。
小智 6
在 bash 中
while read -r word
do
grep -q "$word" file.before
if [ $? -ne "0" ]
then
echo "$word not in file"
fi
done < <(cut -f1 -d" " file.after)
Run Code Online (Sandbox Code Playgroud)
该-q
来的grep告诉它安静下来,然后你可以询问$?
,看看是否有一个匹配0
与否1
。