当前位置: 首页 > 面试题库 >

遍历带空格的文件列表

龚凌
2023-03-14
问题内容

我想遍历文件列表。该列表是find命令的结果,因此我想到了:

getlist() {
  for f in $(find . -iname "foo*")
  do
    echo "File found: $f"
    # do something useful
  done
}

很好,除非文件名中包含空格:

$ ls
foo_bar_baz.txt
foo bar baz.txt

$ getlist
File found: foo_bar_baz.txt
File found: foo
File found: bar
File found: baz.txt

我应该怎么做才能避免空间分裂?


问题答案:

您可以将基于单词的迭代替换为基于行的迭代:

find . -iname "foo*" | while read f
do
    # ... loop body
done


 类似资料:
  • 问题内容: 我试图在PowerShell中遍历以下JSON文件。 如果没有专门命名顶部标签(例如17443和17444),由于我事先不知道它们的名称,就无法找到遍历数据的方法。 我想为所有记录输出标签3、4和5(标题,名字,姓氏)。 我该怎么做? 我可以使用下面的代码访问数据,但我想避免放入17443、17444等。 问题答案: 在PowerShell 3.0及更高版本中(请参阅:确定已安装的Po

  • 问题内容: 我试图遍历并拾取目录中的文件,但是在实现它时遇到了一些麻烦。如何提取多个文件,然后将它们移动到另一个文件夹? 问题答案: 带回调的旧答案 您想要使用fs.readdir函数获取目录内容,并使用fs.rename函数实际执行重命名。如果您 需要 等待它们完成之后再运行代码,则这两个函数都具有同步版本。 我写了一个快速脚本来完成您所描述的。 在我的本地机器上测试。 更新:fs.promis

  • 输入是一个列表列表。请看下面。文件名是一个列表,包含的名称与列表中的列表数量相同(,,) 每个名称都附加到路径中:-- 程序在遍历列表时遍历包含路径的列表,并打印路径及其文件名。我希望输出是--。然而,我得到了下面的输出。请查看输入后的输出 输入 输出 我希望输出是-- 然而,我得到的结果如下: 我无法理解为什么在遍历列表时不能使用文件名遍历路径列表。我希望这有助于澄清问题。有人能帮忙吗? 我已经

  • 我正试图找出如何以有效的方式遍历2.5D网格。栅格本身是二维的,但栅格中的每个单元都有一个最小/最大浮动高度。要遍历的线由两个三维浮点坐标定义。如果进入/退出网格单元之间的z值范围与该单元的最小/最大高度不重叠,我希望停止遍历该线。 我目前正在使用2D DDA算法按顺序遍历网格单元格(见图),但我不确定如何在到达每个网格单元格时计算z值。如果可以的话,我可以在进入/离开单元格时根据单元格的最小/最

  • 问题内容: 我正在尝试编写脚本,将大照片裁剪并调整为高清壁纸。 但是该脚本似乎在文件名中带有空格的问题(例如Tumble Weed.jpg)。我怎样才能解决这个问题? 问题答案: 首先,您不需要。通过在backtics中使用,您可以使bash隐式地将字符串解析为一个列表,该列表按空格分隔。而是让bash生成列表并将其分离,而无需进行此类怪癖: 另外,您需要将所有用法都括在引号中,以使bash整体上

  • 问题内容: 我发现我正在编写许多Makefile,可以使用 n个 元组列表清除它们。但是我找不到任何正确(干净)地进行此操作的方法。到目前为止,我只能使用 $(shell …) 和 tr , sed 或其他非Makefile标准。 例如,我想这样做: 有没有一种很好的方法来迭代Makefile中的 n个 元组列表?谢谢! 问题答案: Makefile本质上是声明性的,因此我认为make本身不能提供