Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 递归地更改每个目录下出现的所有单词_Java_Linux - Fatal编程技术网

Java 递归地更改每个目录下出现的所有单词

Java 递归地更改每个目录下出现的所有单词,java,linux,Java,Linux,在某个目录下搜索后,我可以更改一个单词吗 例如,将位于所有.c文件中的单词abc更改为ddd grep --include=\*.c -rnw '/path/to/somewhere/' -e "abc" 那么如何将这些引用修改为ddd? 什么是命令行?我猜您是在Linux上。。。好吗 很简单: find <directory> -type f -name \*.c -print0 | xargs -0 -t sed -i 's/abc/ddd/g' 这是如何连接到Java的?看

在某个目录下搜索后,我可以更改一个单词吗 例如,将位于所有.c文件中的单词abc更改为ddd

grep --include=\*.c -rnw '/path/to/somewhere/' -e "abc"
那么如何将这些引用修改为ddd
什么是命令行?

我猜您是在Linux上。。。好吗

很简单:

find <directory> -type f -name \*.c -print0 | xargs -0 -t sed -i 's/abc/ddd/g'

这是如何连接到Java的?看看
sed
命令:
mansed
@arkascha谢谢。我在我的根目录上递归地尝试了这个命令,因为我有多个pom在里面。”grep-r--include=pom.xml-e“1.2.0-SNAPSHOT”| xargs-0-t sed-i的/1.2.0-SNAPSHOT/1.1.0-SNAPSHOT/g''输出显示包含1.2.0-SNAPSHOT的所有文件,并显示消息文件名long@Feres_f你的命令是错误的。检查xargs手册页(选项-0)。如果前面有一个带有-print0的find,它就可以工作了。。。
man find
man xargs
man sed