我有一个文本文件,其数据为:
(832555,488012,0,17:31:32.541,2014-08-06 17:31:32.000,0,0,NULL,FBCD,"-6484620512517810993"etcetcetc
我想提取字符串FBCD
,所以我的输出应该是:
FBCD,"-6484620512517810993"etcetc
我可以使用FBCD
找到awk
的位置:
awk '{print substr("FBCD",1,200)}' file.txt
但我无法提取剩余的值。
答案 0 :(得分:2)
使用awk with substr
awk '{print substr($0,index($0,"FBCD"),200)' file
使用sed
sed -e 's/^.*\(FBCD.\{200\}\).*/\1/' file
如果你想要它直到行尾
awk '{print substr($0,index($0,"FBCD"))' file
sed -e 's/^.*\(FBCD\)/\1/' file
答案 1 :(得分:1)
您的密码:substr("FBCD",1,200)
将从char 1
- 200
剪切输入字符串。但是您将FBCD
作为输入字符串,FBCD
只有4
长度,这就是您只有FBCD
的原因。
事实上,grep
诞生于提取事物,这对你有帮助吗?
grep -oE 'FBCD.{1,196}' file