Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.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
Linux 使用grep重命名数据?_Linux_Command Line_Grep - Fatal编程技术网

Linux 使用grep重命名数据?

Linux 使用grep重命名数据?,linux,command-line,grep,Linux,Command Line,Grep,我正在使用grep搜索DEFAULT_DEV_PATH的所有实例 grep -r -n --color "DEFAULT_DEV_PATH" * 我要做的是使用命令行将默认的_DEV_PATH的每一个实例都重命名为DEV_PATH 这可能吗?看来sed可能是一个更好的工作工具 sed -i 's/DEFAULT_DEV_PATH/DEV_PATH/g' * 如果您想像使用grep一样递归地执行此操作,您可以结合使用find: find . -type f -exec sed -i 's/DE

我正在使用grep搜索DEFAULT_DEV_PATH的所有实例

grep -r -n --color "DEFAULT_DEV_PATH" *
我要做的是使用命令行将默认的_DEV_PATH的每一个实例都重命名为DEV_PATH


这可能吗?

看来sed可能是一个更好的工作工具

sed -i 's/DEFAULT_DEV_PATH/DEV_PATH/g' *
如果您想像使用grep一样递归地执行此操作,您可以结合使用find:

find . -type f -exec sed -i 's/DEFAULT_DEV_PATH/DEV_PATH/g' {} \;

根据注释,如果您没有使用GNU扩展,您可能需要为
-i
选项提供一个参数。

它抛出以下错误:sed:1:“LICENSE”:无效命令代码LOkay它工作了。非常感谢你,我真的很感激。如果我可以建议的话,只是一个小小的调整,-我需要一个扩展名,所以我做了sed-i old's/DEFAULT_DEV_PATH/DEV_PATH/g'*它用它来复制旧文件extension@joel没有参数的-i标志是GNU扩展。其他SEE,比如OSX上的BSD风格,需要使用
-i'
调用才能获得相同的结果。这就解释了,谢谢。对不起,GNU扩展是我一直在使用的全部。