我想计算我目录中的所有文件并将数字放在它们前面,并在新行中,例如:
file.txt nextfile.txt example.txt
,输出为:
1.file.txt
2.nextfile.txt
3.example.txt
等等。
我正在尝试使用:ls -L |
答案 0 :(得分:2)
如果安装了nl
,则可以执行此操作:
ls -1 | nl
(注意带有现代shell(通常是内置的),不需要-1
部分。这也适用于以下解决方案。)
或者使用awk:
ls -1 | awk '{print NR, $0}'
或者使用单个awk命令:
awk '{c=1 ; for (f in ARGV) {print c, f ; c++ } }' *
或cat
:
cat -n <(ls -1)
答案 1 :(得分:1)
您可以在printf
中使用内置for loop
来执行此操作:
n=0
for i in *; do
printf "%d.%s\n" $((n++)) "$i"
done