2016-02-29 64 views
0

我還沒有得到任何關於如何使用sed替換行號的特定行的標準答案。根據行號替換行

我可以知道該怎麼做嗎?

例如,我嘗試使用

sed -i '45s/*/T T F/' POSCAR 

不工作,以取代線45 ...

回答

2

添加點:

更換

sed -i '45s/*/T T F/' POSCAR 

通過

sed -i '45s/.*/T T F/' POSCAR 

. : match any character

* : the preceding expression can match zero or more times

+0

SED -i 「S/$ X $ Y $ Z^TTF/$ X $ Y $((Z + 0.01)),TTF /」測試 -bash:0.3688520225288983:語法錯誤:無效算術運算符(錯誤標記爲「.3688520225288983」)我可以知道如何使用bash在sed中執行算術嗎? –

+2

@雷璋這是一個完全不同的問題 – ptierno

+0

@雷璋:請提出一個新問題。 – Cyrus

0

您可以使用perl這個工作了。

perl -i '$. == 45 && $_ = "T T F\n"' POSCAR 

(假設你要替換所有管線45)

+0

's/sed/perl /'? –