发布网友 发布时间:2022-04-23 02:50
共2个回答
热心网友 时间:2023-10-12 08:34
:%s/stLoanCom.memocode/stLoanCom.xxxxxxx/g
用sed可以,sed 's/stLoanCom.memocode/stLoanCom.xxxxxxx/g' file
多个文件用
for i in *.c; do
sed 's/stLoanCom.memocode/stLoanCom.xxxxxxx/g' "$i" > file2
mv file2 "$1"
done追问能不能给解释一下这个for语句呢
因为我以前没写过shell
对其中的i in 和后面为什么mv不太明白
谢了先
追答for i in *.c意思是变量i循环赋值后缀为.c的文件名,相当于ls *.c后逐个将得到的文件名赋值给i,后面的$i就是使用变量i。
前面的sed只能显示修改后的数据到屏幕,通过重定向符“>”输出到文件file2(如果直接输出到本身文件就会循环引用当然不行),mv是为了将文件名改回到原来的文件名,如果为了安全也可以改为其他文件名。
热心网友 时间:2023-10-12 08:34
这样写呗
:1,$s/stLoanCom.memocode/stLoanCom.xxx/g