在分隔符之间保存内容并进行比较

时间:2013-04-22 21:20:47

标签: bash shell comparison

我在提取'[ ]'之间的内容并使用shell脚本进行比较时遇到了很多困难。之后我需要用[]删除其他字段。

我收到了文件名为内容som [xxxx]模式的文件,其中一个很有用,我用它来对它们进行分类。

一个例子:

Input: sample[t.225][lb.445][21042013][0913605].extension
Output (pattern lb.445): sample[lb.445].extension

我知道我可以使用带有模式的grep,但之后我不知道如何擦除文件名中的其他字段。我认为使用grep的策略不是最佳选择,并且在shell脚本和模式比较中使用循环声音的选项非常奇怪。

1 个答案:

答案 0 :(得分:1)

在这种情况下,awk可能会有所帮助:

awk -F'[][]' '{print $1"["$4"]"$NF}' input

上面一行采用第二个[...]

中的文本

在你的问题中举例:

kent$  echo "sample[t.225][lb.445][21042013][0913605].extension"|awk -F'[][]' '{print $1"["$4"]"$NF}'                                                                       
sample[lb.445].extension