2014-03-27 45 views
0

我輸入文件中的所有行像如何刪除只有前兩個前導空格的文件

*CONTROL_ADAPTIVE 
    $ adpfreq adptol adpopt maxlvl tbirth tdeath  lcadp ioflag 
     0.10  5.000   2   3  0.0  0.0   0   0 

我只是想刪除所有行中的前兩個空格。

我用

sed "s/^[ \t]*//" -i inputfile.txt 

,但它從所有行刪除所有的空間。我只是想在文件中的完整文本轉移到二號位離開了。

對此的任何解決方案?

+0

'sed的「S/^ [\ t] [ \ t] //「-i inputfile.txt' – cerkiewny

+0

'sed -i's // // inputfile.txt' – devnull

回答

2

您可以指定要刪除的字符在括號設置的兩場比賽:

sed -r -i "s/^[ \t]{2}//" inputfile.txt 

看到輸出:

$ sed -r "s/^[ \t]{2}//" file 
*CONTROL_ADAPTIVE 
$ adpfreq adptol adpopt maxlvl tbirth tdeath  lcadp ioflag 
     0.10  5.000   2   3  0.0  0.0   0   0 
+0

字符集不在字符中。 – cerkiewny

+0

你是對的,更新。謝謝@cerkiewny! – fedorqui

+1

您還可以使用'[[:blank:]]'作爲「空格」或'[[:space:]]' – NeronLeVelu

相關問題