【发布时间】:2016-12-30 22:54:09
【问题描述】:
我必须从文件中提取(位置 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”
【问题讨论】:
-
列和长度参数从何而来?只指定第 2 列会更容易吗?
-
position 13和maxlength 10是非常模糊的术语。一行中的字符位置,文件中的行位置,一行中的字符串位置,一个单词的长度,一行的长度.....edit你的问题清楚地说明你的要求并摆脱所有@987654326 @s 将所有单词“内容”更改为实际的代表性内容,并提供示例输入/输出,我们可以测试潜在的解决方案。 -
你试过什么?我建议将其添加到您的问题中,否则您的“问题”似乎更像是对“免费脚本编码”的请求。此外,无论如何,您都不需要“脚本”来执行此操作——它实际上是一个命令,如果您尝试搜索术语
cut,您可能会找到答案。 -
awk '{ print substr($0, 13, 10) }'将是一个起点。如果您想修剪尾随空格,这应该不难弄清楚。
标签: bash shell unix awk filtering