我想打印文件夹中的所有文件名。如何使用 awk 或 bash 执行此操作?
问问题
15140 次
6 回答
5
ls -l /usr/bin | awk '{ print $NF }'
:)
于 2012-09-18T12:15:02.093 回答
4
find . -type f -maxdepth 1
如果您还想对子目录进行递归,请排除 -maxdepth 部分
于 2012-09-17T16:00:02.210 回答
2
以下是纯 AWK 选项:
gawk '
BEGINFILE {
print "Processing " FILENAME
};
' *
如果您想将它用作处理多个文件的更大的 AWK 脚本的一部分并且想要记录当前正在处理的文件,这可能会有所帮助。
于 2019-10-30T09:15:44.710 回答
1
此命令将打印所有文件名:
for f in *; do echo "$f"; done
或(甚至更短)
printf '%s\n' *
或者,如果你想打印特定的文件类型(例如,.txt
),你可以试试这个:
for f in *.txt; do echo "$f"; done
或(甚至更短)
printf '%s\n' *.txt
于 2015-10-17T15:35:58.600 回答
0
/bin/ls 为您完成这项工作,您可以从 bash 中调用它。
$> /bin/ls
[.. List of files..]
解释您的问题,您可能有兴趣遍历此目录中的每个文件。这也可以使用 bash 来完成:
for f in `ls`; do
echo $f;
done
于 2012-09-17T16:01:26.340 回答
0
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
于 2019-11-21T20:42:30.440 回答