繁体   English   中英

如何使用shell列出所有文件并在其前面放置编号

[英]How to list all files and put number in front of them , using shell

我想计算目录中所有文件的数量,并在它们前面加一个新行,例如:

file.txt nextfile.txt example.txt

输出为:

1.file.txt
2.nextfile.txt
3.example.txt

等等。 我正在尝试使用: ls -L |

如果已安装nl则可以执行以下操作:

ls -1 | nl

请注意,对于现代外壳(通常是内置外壳),不需要-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)

您可以通过在for loop使用shell内置的printf来做到这一点:

n=0
for i in *; do
   printf "%d.%s\n" $((n++)) "$i"
done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM