我正在努力完成这项任务
1)找到目录A(DIR_A)并将目录中的所有文件(包括其子目录,如果有的话)复制到名为DIR_B的新目录中
2)在目录(DIR_B)中,将单词apple替换为橙色
我执行了以下代码,由于某种原因,它复制了所有文件,但在第二个任务中失败了(用橙色替换苹果)。我很感激这方面的帮助。以下是我的代码
find DIR_A -iname FILEA -type f -exec cp {} DIR_B \;|find DIR_B/ -iname \*.* -type f -exec sed -i "s|apple|orange|g" {} \;
答案 0 :(得分:0)
试试这个:
Sed语法:
sed' s / old / new / g'
find DIR_A -iname FILEA -type f -exec cp {} DIR_B \;|find DIR_B/ -iname \*.* -type f -exec sed -i "s/apple/orange/g" {} \;
答案 1 :(得分:0)
为什么不按顺序运行它们,而不是试图将一个查找的输出汇总到另一个中呢?我不确定find
是否从其标准输入读取。
find DIR_A -iname FILEA -type f -exec cp {} DIR_B \; ; find DIR_B/ -iname \*.* -type f -exec sed -i "s|apple|orange|g" {} \;
我用分号替换了你的烟斗。