免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1520 | 回复: 6

[文本处理] SED GREP 如何编写脚本接受文件中的行内容?? [复制链接]

论坛徽章:
0
发表于 2013-01-24 11:02 |显示全部楼层
我有一个文本文件a.txt:其中内容如下:
abcd.ini
13aqde.ini
sdfqwe.ini
dwewo90.ini
13dq.ini
doiw~1.ini
ewe~1.ini

现在我想对a.txt中的每一行做如下操作:
cat abcd.ini |grep err
cat 13aqde.ini | grep err
...

对以上操作输出到统一的结果列表中,b.txt。
grep ?
egrep?
如果再需要直接更改a.txt列表中文件内容,我如何处理文件中行参数?
sed -i 's/findstr/newstr/' filename     此FILENAME 为a.txt的每行内容,循环执行



感激大家了! 效率啊!@

论坛徽章:
7
数据库技术版块每日发帖之星
日期:2015-08-08 06:20:00数据库技术版块每日发帖之星
日期:2015-08-29 06:20:00数据库技术版块每日发帖之星
日期:2015-08-29 06:20:00数据库技术版块每日发帖之星
日期:2015-09-18 06:20:00数据库技术版块每周发帖之星
日期:2015-11-06 19:56:51数据库技术版块每日发帖之星
日期:2016-01-22 06:20:00数据库技术版块每日发帖之星
日期:2016-02-05 06:20:00
发表于 2013-01-24 11:15 |显示全部楼层
本帖最后由 asdf2110 于 2013-01-24 11:26 编辑
  1. #!/bin/sh

  2. while read line
  3. do
  4.         if [ -f $line ]; then
  5.                 grep err $line >> b.txt
  6.                 sed -i 's/oldstr/newstr/g' $line
  7.         fi
  8. done < a.txt
复制代码
这样可以吗

论坛徽章:
9
2015亚冠之阿尔纳斯尔
日期:2015-09-10 16:21:162015亚冠之塔什干火车头
日期:2015-07-01 16:23:022015年亚洲杯之巴勒斯坦
日期:2015-04-20 17:19:46子鼠
日期:2014-11-13 09:51:26未羊
日期:2014-08-28 18:13:36技术图书徽章
日期:2014-02-21 09:30:15酉鸡
日期:2014-01-14 11:12:49天蝎座
日期:2013-12-09 17:56:53平安夜徽章
日期:2015-12-26 00:06:30
发表于 2013-01-24 11:16 |显示全部楼层
u need
  1. xargs
复制代码

论坛徽章:
0
发表于 2013-01-24 11:30 |显示全部楼层
回复 1# szww

3楼威武
  1. cat a.txt |xargs grep err
  2. cat a.txt |xargs sed -i 's/findstr/newstr/'
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
发表于 2013-01-24 11:37 |显示全部楼层
一个命令搞定全部:
  1. awk '{"grep err "$0 | getline a;print a > "b.txt";system("sed -i 's/findstr/newstr/' "$0)}' a.txt
复制代码

论坛徽章:
0
发表于 2013-01-24 11:43 |显示全部楼层
高手真多。。。。敬礼!!!!!  做系统N年,不长进啊!!!

论坛徽章:
0
发表于 2013-01-24 15:03 |显示全部楼层
yestreenstars 发表于 2013-01-24 11:37
一个命令搞定全部:


如果要实现先备份a.txt中文本(行内容为标准文件名)到 ./bck 目录下如何处理?
cp -Rf ...  ./bck
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP