linux中批量修改⽂件名⽂件内容(renamesed)
批量修改⽂件名
linux的rename命令
⽐如把所有的表为abc_* 修改为def_*的
在本⽬录下只需要
rename 'abc''def' *
rename还有更多的功能,建议man rename下
尹相杰个人资料注:在debian-base系统中会出现错误
批量修改⽂件内容
⾃⼰写了个程序,其中命名⽐较幼稚,有的1,2,之类的⽐较简单写,但很不规范,开发完后,想统⼀改下名字,所以看到了下⾯这篇⽂章,让洒家受益匪浅:(⾃⼰做了⼀些整理)
⽅法1
:s/XXX/YYY/g
张木易 miki其中XXX是需要替换的字符串,YYY是替换后的字符串
以上这句只对当前⾏进⾏替换,如果需要进⾏全局替换,则要:
:%s/XXX/YYY/g
如果需要对指定部分进⾏替换,可以⽤V进⼊visual模式,再进⾏
:s/XXX/YYY/g
或者可以指定⾏数对指定范围进⾏替换:
:100, 102s/XXX/YYY/g
⽅法2中国烹饪大师
Linux下批量替换多个⽂件中的字符串的简单⽅法。⽤sed命令可以批量替换多个⽂件中的字符串。
⽤sed命令可以批量替换多个⽂件中的字符串。
sed -i "s/原字符串/新字符串/g"`grep 原字符串 -rl 所在⽬录`
(千万注意这个符号,是最左上⾓那个符号不是单引号)
例如:我要把/test下所有包含abc的⽂件中的abc替换为def,执⾏命令:
sed -i "s/abc/def/g"`grep abc -rl /test`目前到西安需要隔离吗
这是⽬前linux最简单的批量替换字符串命令了!
具体格式如下:
sed -i "s/oldString/newString/g"`grep oldString -rl /path`
实例代码:sed -i "s/⼤⼩多少/⽇⽉⽔⽕/g"`grep ⼤⼩多少 -rl /usr/aa`
sed -i "s/⼤⼩多少/⽇⽉⽔⽕/g"`grep ⼤⼩多少 -rl ./`
2pm宰范⽅法3:
在⽇程的开发过程中,可能⼤家会遇到将某个变量名修改为另⼀个变量名的情况,如果这个变量是⼀个局部变量的话,vi⾜以胜任,但是如果是某个全局变量的话,并且在很多⽂件中进⾏了使⽤,这个时候使⽤vi就是⼀个不明智的选择。这⾥给出⼀个简单的shell命令,可以⼀次性将所有⽂件中的指定字符串进⾏修改:
grep "abc" * -R | awk -F: '{print $1}' | sort | uniq | xargs sed -i 's/abc/abcde/g'
宫雪花替换字符:sed -i “s/old/new/g” /test
查包含指定字符的⽂件名:grep aaa –ul /test
发布评论