如果匹配字符串模式

时间:2016-09-14 03:38:57

标签: awk sed grep cut

我希望awk或sed或本机shell中的任何其他显示过滤器机制能够从字符串行中删除匹配&不匹配时,不要删除2个字符串(列)之间的任何空格。然后显示输出。

我的档案:

# cat test2
col0 col1 col2 col3 col4 col5
ln1 abc def ghi jkl mno
ln2 abc defghi jkl mno pqr

我想要的输出是:

# <something to view/grep/filter with> test2
col0 col1 col2 col3 col4 col5
ln1 abc defghi jkl mno
ln2 abc defghi jkl mno pqr

我尝试了grep&amp;的多种组合awk&amp;切。但是没能做到。我对sed不好,但我可以试试。我甚至尝试使用临时文件,即回声输出到某个文件&amp;然后grep。但我也没做到这一点。

编辑了我的更多要求:

我最大的问题是我无法预测空间的位置和位置。行条目的内容是什么。所以我想sed得到的输出不是基于特定的字符串,而是基于列号。

我的档案:

# cat test2
col0 col1 col2 col3 col4 col5
ln1 abc def ghi jkl mno
ln2 abc defghi jkl mno pqr
ln3 aaa bbb ccc ddd eee
ln4 aaa bbbccc ddd eee

输出文件:

# <something to view/grep/filter with> test2
col0 col1 col2 col3 col4 col5
ln1 abc def ghi jkl mno
ln2 abc defghi jkl mno pqr
ln3 aaa bbbccc ddd eee
ln4 aaa bbbccc ddd eee

1 个答案:

答案 0 :(得分:1)

sed 's/def ghi/defghi/' file

如果那不是您想要的,那么请编辑您的问题以澄清您的要求并提供更好地展示您问题的输入/输出。