シェルで両方のコマンドをリンクする必要があります。パス結果を取得し、最初のフィールドの列数に関連付けます。
前任者:
#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}' {} \;