ubuntu find+sed 实现对目录中文件指定字符串替换

时间:2022-01-08 09:01:31

find - search for files in a directory hierarchy

sed - stream editor for filtering and transforming text


find ./*  -exec  sed -i 's/apple/iphone/g' {} \;

将当前目录下(包括子目录)中所有文件中的apple替换为iPhone


find ./*  -exec *** {} \;

{} 代表文件

; 每个文件执行一个command

+  一共执行一个command

root@25902ace80e2:/home/test# find ./* -exec echo  arg: {} \+
arg: ./test.txt ./test2 ./test2/test2.txt
root@25902ace80e2:/home/test# find ./* -exec echo arg: {} \;
arg: ./test.txt
arg: ./test2
arg: ./test2/test2.txt

sed -i 's/apple/iphone/g'

替换文件中的apple为iPhone

-i 进行文件的修改


单引号替换双引号

sed -i s#\'#\"#g test.txt

sed -i "s/'/\"/g" test.txt