LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 954|回复: 8

请问怎么输出一个文件中的特定的字符串?

[复制链接]
发表于 2004-6-27 10:13:09 | 显示全部楼层 |阅读模式
比如说文件含有
aabb"dd"cceee
怎么输出dd??谢谢
发表于 2004-6-27 10:15:39 | 显示全部楼层
是这样吧~

  1. /home/lee #echo aabb"dd"cceee|grep -o 'd\{1,\}'
  2. dd
  3. /home/lee #

复制代码
 楼主| 发表于 2004-6-27 10:21:59 | 显示全部楼层
我意思是怎么显示一个文件里所有的" "里面的字符串?
发表于 2004-6-27 10:58:34 | 显示全部楼层

  1. /home/lee #cat file
  2. askdflasdf"sdfsldf"asdfjklsdf
  3. ejsdf"sdfsdfdddd"sdfsdf
  4. a"sdf23423"sfsdf
  5. /home/lee #cat file|grep -o '"[a-z0-9].*"'|tr -d '"'
  6. sdfsldf
  7. sdfsdfdddd
  8. sdf23423
复制代码

是这样? 要不请贴出你的样本!
 楼主| 发表于 2004-6-27 22:01:13 | 显示全部楼层
那假如文件有如下字符串。
dadf"http://32423"dsafd"ftp://5234"dasf
dadf"http://32423"dsafd"ftp://5234"dasf
怎么输出ftp://5234呢?麻烦了!
发表于 2004-6-28 00:11:18 | 显示全部楼层
最初由 bbskill 发表
那假如文件有如下字符串。
dadf"http://32423"dsafd"ftp://5234"dasf
dadf"http://32423"dsafd"ftp://5234"dasf
怎么输出ftp://5234呢?麻烦了!

  1. /home/lee #cat tmp
  2. dadf"http://32423"dsafd"ftp://5234"dasf
  3. dadf"http://32423"dsafd"ftp://5234"dasf
  4. /home/lee #cat tmp|cut -f4 -d'"' #把引号当成分隔符: -d'"',取第4段
  5. [url]ftp://5234[/url]
  6. [url]ftp://5234[/url]
复制代码

具体情况具体分析!这些工具的介绍本论坛都有十分详悉的介绍,望善用搜索!
http://www.linuxsir.cn/bbs/showthread.php?threadid=105130
发表于 2004-6-28 00:26:47 | 显示全部楼层
如果“”是成对出现的,则先去头去尾的";则中间""之间就成为原来的""之非了。

  1. [linuxer@mydesktop test]$ cat test.tx
  2. dadf"http://32423"dsafd"ftp://5234"dasf
  3. dadf"http://32423"dsafd"ftp://5234"dasf

  4. [linuxer@mydesktop test]$ cat test.tx|sed   's/.[^"]*"//;s/".[^"]*$//;s/".[^"]*"/\n/g'
  5. http://32423
  6. ftp://5234
  7. http://32423
  8. ftp://5234

复制代码


如果“”不是成对出现的,:sorry还没想出来。
发表于 2004-6-28 00:44:01 | 显示全部楼层
海蓝兄,人家只要ftp的那部分 ;)

  1. /home/lee #cat tmp|sed 's/.*"\(ftp\:\/\/[a-z0-9A-Z].*\)".*/\1/g'
  2. [url]ftp://5234[/url]
  3. [url]ftp://5234[/url]
复制代码
 楼主| 发表于 2004-6-28 09:21:02 | 显示全部楼层
感谢中!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表