用awk指定分隔符把文本分为若干段。如何把相同段的内容弄到一行?
以/etc/passwd为例,该文件以":"作为分隔符,分为了7段。
for i in `seq 1 7`
do
awk -F ':' -v a=$i '{printf $a " "}' /etc/passwd
echo
done
0
好脚本,不过我感觉一般的有20个域就差不多了。
下面我用该脚本组合的/etc/passwd文件
#!/bin/bash
for i in `seq 1 20` ; do
awk -F ':' -v a=$i '{printf $a " "}' /etc/passwd >>/home/test/1.txt
echo " " >>/home/test/1.txt
done
下面我用该脚本组合的/etc/passwd文件
#!/bin/bash
for i in `seq 1 20` ; do
awk -F ':' -v a=$i '{printf $a " "}' /etc/passwd >>/home/test/1.txt
echo " " >>/home/test/1.txt
done
编辑回复