【发布时间】:2018-03-28 15:30:44
【问题描述】:
给定一个名为FOO的主目录,里面有很多子目录,我想去每个子目录,找到路径:
/mango/pears/peanuts/butter/
将/mango/pears 替换为/supplier
我知道sed 是我要找的,但我can't 想通了:
cd /FOO
sed -i 's|/mango/pears|/supplier|g' $(find . -type f)
有什么想法吗?这个问题不寻求像this中那样重命名文件
【问题讨论】:
-
@rkta 在提出问题
find . -type f -exec perl -pi -e 's|/mango/pears|/supplier|g' {} \;后,这对我有用。但是,它必须查询子文件夹中的所有文件类型。我的目标文件是.sh。这不是上述任何问题的重复问题。 -
您是要移动文件还是只需要根据 find 的输出修改名称列表? sed -i 将处理文件,查找发现,而不是它们的名称,或者文件是否包含它们的名称/路径?