【发布时间】:2015-05-25 16:18:09
【问题描述】:
我有一个文件夹,里面有名为 name_surname.jpg 的 .jpg 图片
我做了一个循环:
for f in *.jpg;do
instructions...
done
我希望我用空格来替换 _。我知道有 tr 命令或 sed 正则表达式。但在这种情况下,我不知道该怎么感谢你。
请注意,我不希望显示图片的名称,而是将它们恢复(在 var 中?)以供以后再次使用
【问题讨论】:
标签: shell
我有一个文件夹,里面有名为 name_surname.jpg 的 .jpg 图片
我做了一个循环:
for f in *.jpg;do
instructions...
done
我希望我用空格来替换 _。我知道有 tr 命令或 sed 正则表达式。但在这种情况下,我不知道该怎么感谢你。
请注意,我不希望显示图片的名称,而是将它们恢复(在 var 中?)以供以后再次使用
【问题讨论】:
标签: shell
new_f=`echo $f | sed -e 's/\ /_/'`
mv $f $new_f
sed 中的 s 本质上是 s将第一个 / 之间的文本替换为第二个 / 中的文本。在你的情况下,用下划线替换空格。
【讨论】:
sed 的效率低下。
这里是扩展的:
#!/bin/bash
for foo in *.jpg; do
bar="${foo//_/ }"
mv "$foo" "$bar"
done
【讨论】: