1.写出删除一个文件中所有空白行(包括只包含空格、制表符)的指令
2.假如有以下文件内容:
123.com abc.com
123.com def.com
123.com xyz.com
456.com aaa.com
456.com bbb.com
789.com ccc.com
......
......
将第一列相同行(行数不固定,内容不固定)的第二列合并到一行变成:
123.com abc.com def.com xyz.com
456.com aaa.com bbb.com
789.com ccc.com
如何实现?
参考答案:
1.
# sed -i '/^[ \t]*$/d' file
2.
awk命令实现
# awk -F" " '{if(NR==1){x=$1;printf $1" "$2}else if(NR>1 && $1==x){printf " "$2}else{x=$1;printf "\n"$1" "$2}}END{print ""}' file
shell脚本实现
#/bin/bash
n=1
while IFS=" " read x1 x2
do
if [ $n = 1 ] ; then
printf "$x1 $x2";
else
if [ "$var" == "$x1" ] ; then
printf " $x2";
else
printf "\n$x1 $x2";
fi
fi
var=$x1;
let n++;
done < file
echo;
转载于:https://blog.51cto.com/hanlei/1153786