linux下批量文件内容提取
目录下有很多文件:-rw-r--r--1rootroot494May1202:03city_tianqi_201605100311.xml...................
目录下有很多文件:
-rw-r--r-- 1 root root 494 May 12 02:03 city_tianqi_201605100311.xml
............................
其中文件中含有下面信息
.................
......河北/石家庄..........
......河北/石家庄..........
......河北/保定.............
我想提取出所有文件中信息下面信息
120203_201605100311_河北/石家庄
120203_201605100311_河北/石家庄
120203_201605100311_河北/保定
也就是说提取所有文件的产生时间_文件名中的时间_文件中的城市信息,进行输出 展开
-rw-r--r-- 1 root root 494 May 12 02:03 city_tianqi_201605100311.xml
............................
其中文件中含有下面信息
.................
......河北/石家庄..........
......河北/石家庄..........
......河北/保定.............
我想提取出所有文件中信息下面信息
120203_201605100311_河北/石家庄
120203_201605100311_河北/石家庄
120203_201605100311_河北/保定
也就是说提取所有文件的产生时间_文件名中的时间_文件中的城市信息,进行输出 展开
展开全部
grep ingcn -rl /assign-path | xargs sed -i 's/ingcn/.ingcn/g'
或
sed -i 's/ingcn/.ingcn/g' `grep ingcn -rl /assign-path`
还有一种比较复杂的写法:
grep ingcn * -R | awk -F: '{print $1}' | sort | uniq | xargs sed -i 's/ingcn/.ingcn/g'
其中命令awk用于分割字符串、uniq对结果进行除重。
、网络上现成的资料
格式: sed -i s/查找字段/替换字段/g `grep 查找字段 -rl 路径`
linux sed 批量替换多个文件中的字符串
sed -i s/oldstring/newstring/g `grep oldstring -rl yourdir`
例如:替换/home下所有文件中的.111cn.为111cn.
sed -i s/.111cn./111cn./g `grep .111cn. -rl /home`
exp:sed -i s/shabi/$/g `grep shabi -rl ./`
2、自己额外附加
2.1 将文件1.txt内的文字garden替换成mirGarden
# sed -i s/garden/mirGarden/g
1.txt sed -i 很简单
2.2 将当前目录下的所有文件内的garden替换成mirGarden
## sed -i s/garden/mirGarden/g `ls` 其实也就是ls出多个文件名而已
或
sed -i 's/ingcn/.ingcn/g' `grep ingcn -rl /assign-path`
还有一种比较复杂的写法:
grep ingcn * -R | awk -F: '{print $1}' | sort | uniq | xargs sed -i 's/ingcn/.ingcn/g'
其中命令awk用于分割字符串、uniq对结果进行除重。
、网络上现成的资料
格式: sed -i s/查找字段/替换字段/g `grep 查找字段 -rl 路径`
linux sed 批量替换多个文件中的字符串
sed -i s/oldstring/newstring/g `grep oldstring -rl yourdir`
例如:替换/home下所有文件中的.111cn.为111cn.
sed -i s/.111cn./111cn./g `grep .111cn. -rl /home`
exp:sed -i s/shabi/$/g `grep shabi -rl ./`
2、自己额外附加
2.1 将文件1.txt内的文字garden替换成mirGarden
# sed -i s/garden/mirGarden/g
1.txt sed -i 很简单
2.2 将当前目录下的所有文件内的garden替换成mirGarden
## sed -i s/garden/mirGarden/g `ls` 其实也就是ls出多个文件名而已
追问
就我当前这个例子来写一个
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |