2013-02-22 57 views
0

我需要使用sedawk将配置文件添加到配置文件中。我怎样才能做到这一点 ? 喜欢可以说我有一个路径/test1在分区/dev/sda3,我需要将/dev/sda3添加到配置文件的名称(第3部分)。让我们假设配置文件是configtest.config 我需要在configtest.config第三行添加到以下几点:Sed和Awk - 添加一行到配置文件

part3 /dev/sda3 

我如何能做到用sedawk?我知道读分区 即

df /test1 | awk '/^\/dev/ {$1}' 

我得到

/dev/sda3 

,但我不知道如何这个分区添加到第三行配置文件与它的名字(第三部分)

我想使用sedawk

谢谢!

回答

0
var=$(df /test1 | sed -rn '[email protected]([^0-9]+([0-9]+)).*@part\2 \[email protected]') 
sed -i "3i $var" configtest.config 
+0

谢谢!太棒了。如果我必须从crashkernel = 128M @ 16M更改crashkernelvalue = 256M @ 32M,sed命令会是什么样子 – JumpOffBox 2013-02-23 00:36:41

0
df /test1 | 
awk 'NR==FNR{if (/^\/dev/) part=$1; next} 1; FNR==3{print "part3",part}' - configtest.config 

如果要覆盖原文件,结果那么它只是:

df /test1 | 
awk 'NR==FNR{if (/^\/dev/) part=$1; next} 1; FNR==3{print "part3",part}' - configtest.config > tmp && 
mv tmp configtest.config