linux添加文本,将文本添加到特定的行linux脚本

我需要创建一个脚本,它将在文件(XML)中的特定行之后添加文本。这是我到目前为止:将文本添加到特定的行linux脚本

echo

echo "This script will blah blah blah"

echo

read -p "Press Enter to continue..."

clear

var1=`grep -n "" | awk -F ":" '{print $1}'` //var1 = line number

function EnterID()

{

echo -n "Enter ID: "

read ID

var2="text to be added"

sed "$((var1+1))i$var2" > //add text to file, overwrite file

#var1="$((var1+1))" //increment line number???

echo

echo "ID successfully added to file"

echo

EnterNewID

}

EnterNewID()

{

read -p "Press Enter to continue..."

clear

echo -n "Would you like to add another ID? (y)es or (n)o: "

read answer

clear

if [ $answer = "y" ]; then

EnterID

else

exit

fi

}

EnterID

该脚本第一次工作。但是,如果用户尝试添加附加ID,则第一个ID将被覆盖。我也应该说我不是程序员(更多的是网络人员)。我有一点经验脚本,但仅此而已。

其它信息:

原件:

初次使用后:第二使用

// newly added ID

后:

// newly added ID

想要:

2014-10-27

dej27

+0

嗨,你能提供一个你想覆盖的文件的例子,以及预期的结果吗?这将有所帮助。 –

2014-10-27 16:14:24

+0

当然有一点 –

2014-10-27 16:33:06

+0

我建议你在这里使用一些xml处理工具,而不是sed和awk的combinator。你见过xmlstarlet工具吗? https://stackoverflow.com/questions/5591414 –

2014-10-27 16:59:50

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值