2016-02-29 63 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 /'? –