如何在awk中打印没有字段分隔符的行?

卢卡斯银行

我有这样的数据(文件称为list-in.dat

a ; b ; c ; i
d
e ; f ; a ; b
g ; h ; i

我想要一个这样的列表(输出文件list-out.dat),其中包含所有项目,按字母顺序(不区分大小写),每个唯一项目仅一次。

a
b
c
d
e
f
g
h
i

我的尝试是:

awk -F " ; " ' BEGIN { OFS="\n" ; } {for(i=0; i<=NF; i++) print $i} ' file-in.dat | uniq | sort -uf > file-out.dat

但是我最终得到了所有的附件,除了那些只有一项的

a
b
c
e
f
g
h
i

无论一行中有多少个项目,如果缺少字段分隔符,如何获取所有(唯一的,已排序的)项目?

阿努巴瓦

使用gnu-awk

awk -F '[[:blank:]]*;[[:blank:]]*' '{
   for (i=1; i<=NF; i++) uniq[$i]
}
END {
   PROCINFO["sorted_in"]="@ind_str_asc"
      for (i in uniq)
         print i
}' file
a
b
c
d
e
f
g
h
i

对于non-gnu awk使用:

awk -F '[[:blank:]]*;[[:blank:]]*' '{for (i=1; i<=NF; i++) uniq[$i]} 
END{for (i in uniq) print i}' file | sort 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在没有awk分隔符的情况下更改特定行上的字符

在awk中打印匹配的字段分隔符

打印$ 0时如何删除awk中的字段分隔符?

如何在不使用管道的情况下同时使用字段分隔符和awk中的忽略行?

如何在awk中将“ \ s | =“作为字段分隔符?

如何在带有逗号的文本字段的大型csv中使用awk分隔符

如何在 AWK 中不使用默认字段分隔符

awk中的字段分隔符

使用awk打印$ 0时如何保持字段分隔符

如何在python中编写没有任何分隔符的文本文件?

如何在uwp的网格上有行分隔符

如何在AWK的字段分隔符中使用抑扬符?

awk中的多个字段分隔符(字段分隔符在一起)

如何在 R 中读取带有管道的逗号分隔字段作为文本分隔符

当有多个字段分隔符时,使用 AWK 忽略字段中的逗号

如何计算由 2 个字段分隔符(“:”和“,”)分隔的行中单列的字段数?

我如何使用 awk 打印多个分隔符?

AWK提取具有多个分隔符的字段

如何在 AWK 中使用正则表达式作为字段分隔符?

如何在AWK中使用正则表达式作为字段分隔符?

awk:如何使用 [[ 和 ]] 作为字段分隔符/分隔符?

使用分隔符打印struct中的字段列表

grep 没有显示不可打印的分隔符

如何使用“:”作为AWK字段分隔符?

如何使awk忽略双引号内的字段分隔符?

如何使用awk将空间用作字段分隔符?

如何使用“〜”作为AWK字段分隔符?

AWK脚本中的字段分隔符问题

在awk中更改一些字段分隔符