2018-11-28

用sed和awk实现将文本中的上下两行合并为一行

删除文件中相邻的重复行

使用sed删除匹配行的上一行和下一行

sed之多行按条件合并为一行awk '{a[++l]=$1}/^lib/{for(i=l;i>1;i--){printf a[i]" "}print a[i];l=0}' file`

awk 如何将一个文本的奇数行和偶数行合并 与 第2行和第3行合并
需求1:
awk '{printf "%s ",0;getline;};print;}' txt
追问
能说明一下吗,谢谢
追答
需求1:
输出一行但不换行 printf,再读入一行 getline,输出并换行 print,这样实现两行合并。

需求2:
与需求1类似,当且仅当是第2行时才进行合并


我的操作
先写表头:

sed -n 1p tback_2013_08_04_05 >a
sed -n 2p tback_2013_08_04_05 >>a
sed -n 3p tback_2013_08_04_05 >>a
sed -n 4p tback_2013_08_04_05 >>a
sed -n 7p tback_2013_08_04_05 >>a

在写过度文件

1 删除不需要的行

sed '1,6d' tback_2013_08_04_05 >b

2 合并奇偶行

awk '{printf "%s ",$0;getline;print;}' txt
或者 sed -n '{N;s/\n/\t/p}' test.txt

3选取固定行

awk '{if ($1=="1") print}' c >>a

4细微修改

awk '{if (1,"'"1"'");print $0}' a >d

5 当前路径批量操作

dir=NF}' |grep -i "tback" )
for i in i
done

AWK

awk '{getline num <"/dev/stdin"
num=sprintf("%.2f",num)
print num}'

awk '{printf "%-8s %-8s %-8s %-18s %-22s %-15s\n",2,4,6}' netstat.txt

你可能感兴趣的:(2018-11-28)