2012-08-16 208 views
0

替換命令我有具有值的文件作爲殼使用正則表達式命令

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

我需要外殼腳本的命令,以取代象所有[]代碼[1] [2] [3]。

即出會3192592,4365943,4679044,5413434等

+3

請通過給予你正在尋找的產品 – 2012-08-16 11:04:29

+0

另外,[你有什麼嘗試?](http://whathaveyoutried.com) – 2012-08-16 11:11:21

+0

這是不明確的。你想取代什麼?什麼?你想從文件中刪除'[]',所以它變成'1 => 4365943'?你想用另一個數字[123]替換'[1]'? – Federico 2012-08-16 11:14:09

回答

0

簡單的使用

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

thanx,它的工作原理 – 2012-08-16 11:12:34

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/.$//' - 刪除最後一次輸入後的逗號

+0

'cat'沒用。 http://partmaps.org/era/unix/award.html – tripleee 2012-08-16 18:21:36