Linuxでfindコマンドを使用して前のコマンドで生成されたファイル名を検索する

Linuxでfindコマンドを使用して前のコマンドで生成されたファイル名を検索する

findこれらの命令を使用しようとしています。

cut -f 4 file.txt | awk 'NR>1' | find ./ -name 

awkコマンドの後の私の入力は次のようになります

foo.c
foo.txt
abc.txt

前のコマンドのファイル名を find コマンドに指定するにはどうすればよいですか?
したがって、基本的には、foo.c経路を探し求めてからfoo.txt経路を取得するなどの作業が行われる。

ベストアンサー1

findここでは、各ファイルを見つけて目的のawk名前のファイルを選択する方が簡単です。たとえば、awkレコード区切り文字を NUL に設定することをサポートするとします。

find . -print0 | awk '
  ! names_loaded {if (NR>1) names[$4]; next}
  $NF in names' FS='\t' file.txt names_loaded=1 FS=/ RS='\0' -

おすすめ記事