如何连接两个命令?

如何连接两个命令?

我需要在 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}' {} \;

相关内容