[英]How to print all file names in a folder with awk or bash?
我想打印文件夾中的所有文件名。如何使用 awk 或 bash 執行此操作?
ls -l /usr/bin | awk '{ print $NF }'
:)
find . -type f -maxdepth 1
如果您還想對子目錄遞歸執行此操作,請排除 -maxdepth 部分
以下是純 AWK 選項:
gawk '
BEGINFILE {
print "Processing " FILENAME
};
' *
如果您想將它用作處理多個文件的更大 AWK 腳本的一部分,並且您想記錄當前正在處理的文件,這可能會有所幫助。
此命令將打印所有文件名:
for f in *; do echo "$f"; done
或(甚至更短)
printf '%s\n' *
或者,如果您想打印特定文件類型(例如.txt
),您可以嘗試以下操作:
for f in *.txt; do echo "$f"; done
或(甚至更短)
printf '%s\n' *.txt
/bin/ls 為您完成這項工作,您可以從 bash 調用它。
$> /bin/ls
[.. List of files..]
解釋您的問題,您可能有興趣遍歷此目錄中的每個文件。 這也可以使用 bash 來完成:
for f in `ls`; do
echo $f;
done
for f in *; do var=`find "$f" | wc -l`; echo "$f: $var"; done
這將打印目錄的名稱和其中的文件數。 wc -l
此處返回文件數 +1(包括目錄)
示例輸出:
aa: 4
bb: 4
cc: 1
test2.sh: 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.