以此文本文件数据为例:
数据中含有三十多个字段,也就是三十多列,而我们只需要其中的几列数据。
步骤
把文本文件复制到Linux系统中的目录中,在同目录中新建一个bash脚本文件
vim pre_deal.sh
在脚本文件中加入下列代码:
#!/bin/bash
#下面设置输入文件,把用户执行pre_deal.sh命令时提供的第一个参数作为输入文件名称
infile=$1
#下面设置输出文件,把用户执行pre_deal.sh命令时提供的第二个参数作为输出文件名称
outfile=$2
#注意,最后的$infile> $outfile必须跟在}’这两个字符的后面
awk -F " " 'BEGIN{
id=0;
}
{
id=id+1;
print $2"\t"$3"\t"$7"\t"$9"\t"$10"\t"$11"\t"$12"\t"$14"\t"$16
}' $infile> $outfile
在代码awk -F " “的双引号中加入文本文件数据的间隔符,比如数据是以逗号隔开的,就加入逗号,是以空格隔开的就加入空格。
而代码中的print $2”\t"$3"\t"$7"\t"$9"\t"$10"\t"$11"\t"$12"\t"$14"\t"$16是选择你所需要的数据,$2是数据中的第二列数据,需要哪几列数据就把就加上对应列的代码就好。
接着输入以下代码执行脚本文件即可:
bash ./pre_deal.sh input.txt output.txt
input.txt为输入文件, output.txt为输出文件