我必须从文件中提取模式(位置13,Maxlength = 10):
文件1:
fjlksflsf content1 blabla
kjodeddek content1 blabla
fdfkjlsdd content1 blabla
fsdffsdfs content1 blabla
.
.
.
dzedojioj content1 blabla
我想使用脚本来提取值" content1"
文件2
fjlsdfsf content22 blabla
gfgttsdd content22 blabla
gzdfldfd content22 blabla
azefsgtg content22 blabla
.
.
.
fsffsdfj content22 blabla
此处脚本应该循环文件并在位置13处提取正确的值直到位置23然后将其打印在屏幕上,例如,从第二个文件中提取的值是" content22"
答案 0 :(得分:0)
试试这个:
sed -e 's/.\{12\}\(.\{10\}\).*/\1/'
它会:
.\{12\}
- 查找前12个字符
\(.\{10\}\)
- 将匹配接下来的10个字符
.*
- 其余部分\1
- 仅打印匹配的10个字符当然,您必须更改要忽略和匹配的字符数。
答案 1 :(得分:0)
在AWK中。如果你真的想要从第13位,长度10:
$ awk '{print substr($0,13,10)}' file1
content1
content1
...
你也可以打印第二个字段:
$ awk '{print $2}' file1
content1
content1
...