我有一个脚本,我用它来查找和列出以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,一个月前开始。
答案 0 :(得分:2)
你可以这样做:
find /tmp -type f \( -name '*.txt' \) |cut -c14- | nl
但根据我的经验,find
命令并不总是对管道非常友好。
所以你也可以这样做:
cd /tmp ; ls *.txt | nl
或此(针对不同的输出布局)
cd /tmp ; ls *.txt | grep -n ""
答案 1 :(得分:2)
尝试将命令输出发送到以下awk
awk -v OFS="-" '{print NR, $0}'
perl
变体
perl -lne 'print $.,"-",$_'