cut出力をforeachコマンドにパイプする方法は?

cut出力をforeachコマンドにパイプする方法は?

ファイルの各行から最初の単語を取得する切り取りコマンドがあります。その後、cutコマンドの各単語をforeachに入れたいと思います。その後、foreachの本文内でgrepコマンドを実行して、別のファイルからその単語をgrepしようとします。

このような:

@array = (cut /tmp/10218.after -f1); 
foreach $word (@lines) { 
   grep $word /tmp/10218.before;
} 

明らかに@array割り当ては機能しません。この問題をどのように解決できますか?

私はそれが何であるか、どれが最高で十分なのかわからない方法がたくさんあると確信しています。

ベストアンサー1

バッシュから

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)

grepは-q静かにするように指示し、一致するものがあるかどうか$?尋ねることができます。01

おすすめ記事