找到独特的单词

时间:2016-05-24 13:11:07

标签: shell

假设有一个file.txt,其中写有以下内容文本:

ABC/xyz
ABC/xyz/rst
EFG/ghi

我需要编写一个shell脚本,可以在第一个/之前提取第一个唯一字。

因此,作为输出,我希望ABCEFG写在一个文件中。

5 个答案:

答案 0 :(得分:2)

您可以使用cut(斜杠作为分隔符)提取第一个单词,然后使用sort(对于&#34;唯一&#34;)选项输出到-u:< / p>

$ cut -d '/' -f 1 file.txt | sort -u
ABC
EFG

要将输出转换为文件,只需将> filename附加到命令即可重定向。 (或管道到tee filename以查看输出将其放入文件中。)

答案 1 :(得分:0)

试试这个:

int maxDigit = this.myList.Where(x => x.Name.Any(Char.IsDigit))
    .Select(x => int.Parse(new string(x.Name.Where(Char.IsDigit).ToArray())))
    .DefaultIfEmpty(0).Max();

答案 2 :(得分:0)

您可以使用剪切和排序混合:

cut -d '/' -f 1 file.txt | sort -u > newfile.txt

第一行抓取任何字符串,直到斜杠/并将其输出到newfile.txt。 第二行对文本进行排序,删除您可能拥有的任何重复字符串。

答案 3 :(得分:0)

另一个有趣的变化:

awk -F'/' '{print $1 |" sort -u" }' file.txt > outfile.txt

这并不重要,但能够在awk中进行管道和重定向非常方便。

答案 4 :(得分:0)

另一种简单方法:

cut -d"/" -f1 file.txt|uniq > out.txt