所以我相信我的标题解释了我要做的事情。现在我正在剪切并呼应第一个有效的单词,我现在只需要删除重复的单词。。。我想把它分配给一个数组的原因是,我可以组合所有元素,并创建一个逗号分隔的值字符串,我可以把它放在一个新文件中。也许有一种简单的方法可以实现我想要做的事情。我是bash脚本的新手,所以我很感激任何帮助。
感谢
这是我到目前为止的代码
#!/bin/bash
cut -d' ' -f1 $1
cut -d' ' -f1 $1 | sort | uniq | paste -sd,
一个awk一行可以完成所有
awk '!a[$1]{} END{for (i in a) print i}' file > output
此awk命令创建一个数组a
(唯一),并仅在数组中不存在$1
时插入它。最后在END
部分打印出唯一单词列表。
PS:如果单词的顺序很重要(根据它们在文件中的外观):
awk '!($1 in a){a[$1];b[++i]=$1} END{for (k=1; k<=i; k++) print b[k]}' file