Bash 向find命令的每一行添加文本
我有一个脚本,我用它来查找并列出tmp文件夹中以.txt结尾的文件Bash 向find命令的每一行添加文本,bash,Bash,我有一个脚本,我用它来查找并列出tmp文件夹中以.txt结尾的文件 find /tmp -type f \( -name '*.txt' \) |cut -c14- 输出如下所示: xpto.txt abc.txt xyz.txt 但是我想在每一行的末尾添加一个索引 1 - xpto.txt 2 - abc.txt 3 - xyz.txt 有人能帮我吗?我还在学习一个月前开始的bash。您可以: find /tmp -type f \( -name '*.txt' \) |cut -
find /tmp -type f \( -name '*.txt' \) |cut -c14-
输出如下所示:
xpto.txt
abc.txt
xyz.txt
但是我想在每一行的末尾添加一个索引
1 - xpto.txt
2 - abc.txt
3 - xyz.txt
有人能帮我吗?我还在学习一个月前开始的bash。您可以:
find /tmp -type f \( -name '*.txt' \) |cut -c14- | nl
但是根据我的经验,find
命令对管道并不总是非常友好的
所以你也可以这样做:
cd /tmp ; ls *.txt | nl
或者(对于不同的输出布局)
你可以做:
find /tmp -type f \( -name '*.txt' \) |cut -c14- | nl
但是根据我的经验,find
命令对管道并不总是非常友好的
所以你也可以这样做:
cd /tmp ; ls *.txt | nl
或者(对于不同的输出布局)
尝试将管道命令输出到以下
awk
awk -v OFS="-" '{print NR, $0}'
perl
变体
perl -lne 'print $.,"-",$_'
尝试将管道命令输出到以下
awk
awk -v OFS="-" '{print NR, $0}'
perl
变体
perl -lne 'print $.,"-",$_'
但是
find
也会列出子目录中的文件,而ls
不会列出这些文件。@pfnuesel,这是一个非常正确的注释。。。然而,要让它与find
一起工作,cut
命令也需要一些修改才能工作。此外,他可能需要xargs
进一步处理find
的输出。尝试不同的方法没有坏处:-)但是find
也会列出子目录中的文件,而ls
则不会。@pfnuesel,这是一个非常正确的评论。。。然而,要让它与find
一起工作,cut
命令也需要一些修改才能工作。此外,他可能需要xargs
进一步处理find
的输出。尝试不同的方法没有坏处:-)