2つのコマンドをリンクする方法は?

2つのコマンドをリンクする方法は?

シェルで両方のコマンドをリンクする必要があります。パス結果を取得し、最初のフィールドの列数に関連付けます。

前任者:

#this gives me the path of my path directory like this: `/apps/ent/appli_ent/gen/dev/recep/ENTSMETA.20150824.txt`
find $REP_RECEP -name "*META*" -print 

このコマンドの結果を得て、次のようにリンクします。

#this gives me the number of my colmuns field.
awk -F'|' '{print NF; exit}' 

私がこれを行うとき:

awk -F'|' '{print NF; exit}' find $REP_RECEP -name "*META*" -print

動作しません。

ベストアンサー1

任意のファイル名を使用する最も安全な方法は、find's-execオプションを使用することです。find(で)見つかったすべてのファイル/ディレクトリに対して指定されたコマンドを実行しますman find

       -exec command ;
          Execute  command;  true  if 0 status is returned.  All following
          arguments to find are taken to be arguments to the command until
          an  argument  consisting of `;' is encountered.  The string `{}'
          is replaced by the current file name being processed [...]

したがって、次のようにすることができます。

find "$REP_RECEP" -name "*META*" -exec awk -F'|' '{print NF; exit}' {} \;

おすすめ記事