如何在 bash 中逐一读取 ls 命令列出的文件?
how to read files listed by ls command one by one in bash?
我想读取特定目录下的所有文件,我想一个一个读取。
这是我到目前为止所做的。 ls 成功获取了指定目录下的所有文件,但无法将文件名一一给我。它只回显文件一次。我想一个一个地得到它,因为我需要做一些解析并在某个地方使用它。
#!/bin/sh
echo Content-type: application/json
echo ""
for output in "ls /home/myComputer/Desktop/*";
do
echo $output
done
你可以做到
for output in /home/myComputer/Desktop/*
do
echo $output
done
如果存在 /home/myComputer/Desktop
为空的任何风险,请在下面的评论中遵循@JIDs 的建议。
当目录为空时,下一个解决方案也有效。
ls /home/myComputer/Desktop/ 2>/dev/null |while read -r output; do
echo ${output}
done
这个结构很高兴知道,因为当你想在某些字段中拆分输入行时:
cat someFile | while read -r field1 field2 remainingfields; do
我想读取特定目录下的所有文件,我想一个一个读取。
这是我到目前为止所做的。 ls 成功获取了指定目录下的所有文件,但无法将文件名一一给我。它只回显文件一次。我想一个一个地得到它,因为我需要做一些解析并在某个地方使用它。
#!/bin/sh
echo Content-type: application/json
echo ""
for output in "ls /home/myComputer/Desktop/*";
do
echo $output
done
你可以做到
for output in /home/myComputer/Desktop/*
do
echo $output
done
如果存在 /home/myComputer/Desktop
为空的任何风险,请在下面的评论中遵循@JIDs 的建议。
当目录为空时,下一个解决方案也有效。
ls /home/myComputer/Desktop/ 2>/dev/null |while read -r output; do
echo ${output}
done
这个结构很高兴知道,因为当你想在某些字段中拆分输入行时:
cat someFile | while read -r field1 field2 remainingfields; do