我想計算所有文件,我在我的目錄中並將數字放在它們的前面,然後放在新行中,例如:如何列出所有文件,並把它們放在前面,使用外殼
file.txt nextfile.txt example.txt
和輸出爲:
1.file.txt
2.nextfile.txt
3.example.txt
等。通過在for loop
使用內置的printf
殼ls -L |
我想計算所有文件,我在我的目錄中並將數字放在它們的前面,然後放在新行中,例如:如何列出所有文件,並把它們放在前面,使用外殼
file.txt nextfile.txt example.txt
和輸出爲:
1.file.txt
2.nextfile.txt
3.example.txt
等。通過在for loop
使用內置的printf
殼ls -L |
如果您已經安裝nl
你可以這樣做:
ls -1 | nl
(注意與現代貝殼(通常是內置的)-1
部分是不需要的。這適用於貝洛W¯¯解決方案太)
或者使用awk:
ls -1 | awk '{print NR, $0}'
或用單awk命令:
awk '{c=1 ; for (f in ARGV) {print c, f ; c++ } }' *
或者與cat
:
cat -n <(ls -1)
除了busybox ash之外,還有什麼shell有'ls'內置的shell? –
你可以這樣做: 我試圖用一些
n=0
for i in *; do
printf "%d.%s\n" $((n++)) "$i"
done
以前問:HTTP:/ /stackoverflow.com/questions/2924251/how-to-number-the-ls-output-in-unix – BenM
@Biglava只是供參考,如果你想創建一個菜單系統以通過編號選擇一個文件,編號ls輸出將是一個不好的方法。 –