shell编程,把a文件的每一行追加到b文件对应行数的行尾
比如a.log:123b.log:abc现在想追加后成为c.log:a1b2c3下面是我写的,不知道哪里错了,求指教,或者有更好的办法也行,shell渣先谢过了#!/bi...
比如a.log:
1
2
3
b.log:
a
b
c
现在想追加后成为c.log:
a1
b2
c3
下面是我写的,不知道哪里错了,求指教,或者有更好的办法也行,shell渣先谢过了
#!/bin/bash
line=`sed -n '$=' sqlli.txt`
#echo $line
for((n=1;n<$line;n++))
do
value=`head -$n sqlli.txt`
sed -i "$ns/$/$value/" jsp.logg > test
done 展开
1
2
3
b.log:
a
b
c
现在想追加后成为c.log:
a1
b2
c3
下面是我写的,不知道哪里错了,求指教,或者有更好的办法也行,shell渣先谢过了
#!/bin/bash
line=`sed -n '$=' sqlli.txt`
#echo $line
for((n=1;n<$line;n++))
do
value=`head -$n sqlli.txt`
sed -i "$ns/$/$value/" jsp.logg > test
done 展开
1个回答
展开全部
#!/bin/bash
line=`sed -n '$=' sqlli.txt`
#echo $line
for((n=1;n<=$line;n++))
do
value=`sed -n ${n}p sqlli.txt`
#sed -n "${n}s/$/$value/p" jsp.logg >> test #如果不想改jsp文件内容,把结果放Test中,使用追加>>是避免每次被清空,运行后只有最后一行值
sed -i "${n}s/$/$value/" jsp.logg #如果直接改文件内容,不用重定向
done
错误:1.循环条件错误。1~3行,实际只能运行1~2行
2.变量的使用,如$ns,程序会以为ns是一个新的变量。
3.Head -n,会返回前几行,不是第几行
4. sed -i 不管处理成功与否,屏幕没有显示内容,把命令重定向到文件,得不到结果
5.在循环中重定向文件>,会导致每次先清空文件,即使有数值,也只有最后一个循环时的值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询