shell脚本。替换文件中的数值
- List item
#!/bin/bash
nu=cat $1 | wc -l
for ((i=1;i<= n u ; i + + ) ) d o s e d − i ′ ′ nu;i++)) do sed -i '' nu;i++))dosed−i′′i’s/[0-9]{5}/’$RANDOM’/’ $1
done
每次随机随机数将文件中匹配到的五位数字替换掉。
指定文件进行替换
比如把test.txt文件中的AAA替换成BBB
sed -i ‘s/AAA/BBB/g’ test.txt
编辑成.sh后缀。放到linux和文件同目录。直接执行。
-i 直接修改源文件。
g 搜索到的全部替换。不加g,只替换第一个搜索到的。即s/AAA/BBB/
多文件替换
文件夹a下面有test1.txt,test2.txt 有文件夹b,b内有test3.txt
将脚本放在a文件夹下,不在b内
此操作三个文件内都会替换
sed -i ‘s/AAA/BBB/g’ grep 'AAA' -rl --include="*.txt" ./
AAA处可以用正则匹配。
比如AAA是string :“123abc”
正则匹配就是string :"[A-Za-z0-9]*"
此处匹配双引号内任意位数的大小写字母和数字。*表示重复前面字符任意次。其他正则自己搜索。
BBB处可以直接写成随机数"$RANDOM"
即string :"’$RANDOM’"