我需要在 shell 上连接两个命令,我将获得路径结果并与第一个字段中的列数连接。
前任:
#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
(from )找到的每个文件/目录上运行指定的命令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}' {} \;