关于使用shell在文件中查找一段字符串的问题

xiaoZhang888 2012-03-06 12:16:45
请问大家 如果在shell里想从一个文件里查找一段字符串 应该怎么做?

文件:
1.txt
内容:
12312312343242AAAdfasdfasdfasdfasdfadAAAfsdgfsdfgfgfgdfgasdfg

想找两个AAA之间的字符串。
谢谢各位了!
...全文
1234 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoZhang888 2012-03-07
  • 打赏
  • 举报
回复
我要从一个文件中找,并不是从一个字符串里找。。。
justkk 2012-03-07
  • 打赏
  • 举报
回复
一样吧
awk -F"AAA" '{print $2}' yourfile
justkk 2012-03-06
  • 打赏
  • 举报
回复
echo "12312312343242AAAdfasdfasdfasdfasdfadAAAfsdgfsdfgfgfgdfgasdfg"|awk -F"AAA" '{print $2}'
qq120848369 2012-03-06
  • 打赏
  • 举报
回复
echo 12312312343242AAAdfasdfasdfasdfasdfadAAAfsdgfsdfgfgfgdfgasdfg | sed -r "s/.*AAA(.*)AAA.*/\1/g"
xiaoZhang888 2012-03-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 seven117 的回复:]
请问大家 如果在shell里想从一个文件里查找一段字符串 应该怎么做?

文件:
1.txt
内容:
12312312343242AAAdfasdfasdfasdfasdfadAAAfsdgfsdfgfgfgdfgasdfg

想找两个AAA之间的字符串。
谢谢各位了!
[/Quote]

没有人回答只好用一种比较笨的办法了。
set str = `grep \\AAA $filename`
set str = `echo $deal_str | sed -e 's/AAA//g'`

这样str就是AAA之间的内容了。
不知道谁有看起来更简单,最好用管道的方法?
fanxing2011 2012-03-06
  • 打赏
  • 举报
回复
用sed命令和正则表达式解决,sed -e /[^AAA]...[AAA$]/p 1.txt,我只是大致写一下,具体参考sed相关资料

23,224

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧