用sed:
sed '$!Ns/\n//' filename
用awk:
awk '{if(NR%2==0) ORS="\n"else ORS=""print}' filename
linux文件中连续多行合并http://blog.uouo123.com/post/396.html
sed按条件多行合并为一行http://blog.uouo123.com/post/397.html
#/bin/bashcount1=`cat file1|wc -l`
count2=`cat file2|wc -l`
a=`expr $count1 - $count2`
if [ $a -gt 0 ]then
for((i=1i<=$count2i++))
do
x=${i}"p"
echo "`cat file1|sed -n "$x"` `cat file2|sed -n "$x"`" >>/result.log
done
count=`expr $count2 + 1`
for((j=$countj<=$count1j++))
do
y=${j}"p"
z=${count2}"p"
echo "`cat file1|sed -n "$y"` `cat file2|sed -n "$z"`" >>/result.log
done
elif [ $a -lt 0 ]then
for((i=1i<=$count1i++))
do
x=${i}"p"
echo "`cat file2|sed -n "$x"` `cat file1|sed -n "$x"`" >>/result.log
done
count=`expr $count1 + 1`
for((j=$countj<=$count2j++))
do
y=${j}"p"
z=${count1}"p"
echo "`cat file2|sed -n "$y"` `cat file1|sed -n "$z"`" >>/result.log
done
else
for((k=1k<=$count1k++))
do
f=${k}"p"
echo "`cat file1|sed -n "$f"` `cat file2|sed -n "$f"`" >>/result.log
done
fi
行数小的写在行数大的后面,同行的话直接第二个文件内容写在第一个后面
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)