我有一个巨大的制表符分隔文件格式:
AN_NFE=6958 AC_SAS=1 AN_SAS=7704 AF=1.022e-05
AC_OTH=0 AN_OTH=118 AC_SAS=6 AN_SAS=7360
AN_NFE=2754 AC_OTH=0 AN_OTH=116 AC_SAS=14
每行包含" AC_SAS"的值。但在不同的栏目中。我想要关注" AC_SAS"的所有记录。使用每行的值,并输出为一列,如下所示:
AC_SAS=1
AC_SAS=6
AC_SAS=14
答案 0 :(得分:2)
您可以使用grep
grep -o -E 'AC_SAS=[0-9]+' huge_file.txt > ac_sas.txt
此处,-o
仅打印匹配的内容,>
写入新文件(在本例中称为“ac_sas.txt”)。或者您可以省略> filename
部分以打印到标准输出。
答案 1 :(得分:1)
sed 's:^.*\(AC_SAS=[0-9]\+\).*:\1:' yourfile.txt
答案 2 :(得分:0)
你可以使用awk来完成这项工作,格式如下:
awk '{for(i=1;i<=NF;i++){if($i~/^AC_SAS/){print $i}}}' filename
答案 3 :(得分:0)
这可能适合你(GNU sed):
sed -r 's/\s+/\n/;/^AC_SAS/P;D' file
用换行符替换空格,并以所需的字符串开头打印行。