shell replace命令使用正则表达式命令

时间:2012-08-16 11:00:43

标签: linux ubuntu fedora

我有一个值为

的文件
        [1] => 3192592
        [2] => 4365943
        [3] => 4679044
        [4] => 5413434
        [5] => 5686682
        [6] => 6104529
        [7] => 6373851
        [8] => 7247848
        [9] => 7281395
        [10] => 7349817

我需要一个shell脚本命令来替换所有[]代码,如[1] [2] [3]。

即出局将是3192592,4365943,4679044,5413434等等

2 个答案:

答案 0 :(得分:0)

简单使用

:1,$s/.* => \(.*\)/\1/g

答案 1 :(得分:0)

如果您的“测试”文件如下:

[1] => 3192592
[2] => 4365943
[3] => 4679044
[4] => 5413434
[5] => 5686682

比你可以实现的输出:

3192592,4365943,4679044,5413434,5686682

执行命令:

 cat test | cut -d " " -f 3 | sed 's/$/,/' | tr -d '\n' | sed '$s/.$//'

cut -d " " -f 3 - 削减第三栏

sed 's/$/,/' - 将逗号放在每行的末尾

tr -d '\n' - 删除换行符

sed '$s/.$//' - 删除最后一个条目后的逗号