我无法完全获得完全独特的结果 - Linux 流水线
I can't quite get the results to be fully unique - Linux pipelining
我快到了...我应该最终得到 340 个独特的服务。到目前为止,我只能把它降到341。
这些是我的任务:
- 从文件中提取所有服务名称。
- 按字母顺序对名称进行排序,删除所有重复项。
- 删除所有空行或不包含字母的行
字母表。
- 将最终输出捕获到名为 'uniqueservices.txt'.
的文件中
- 使用条件命令计算文件中的行数
如果前面的组合命令成功则执行。
这是我使用的命令:
cat /etc/services | grep -Ev '^#|^$' | cut -f1 | sort -u > uniqueservices.txt && wc -l uniqueservices.txt
这是我应该得到的:
This is what I should get
这是我实际得到的:
What I actually get
我猜(一如既往)有更好的方法来做到这一点,但是......嘿,我是新手。不过很接近!
提前致谢。
S
命令的 cut -f1
部分通过扫描制表符分隔符的行来确定“第 1 列”的含义。您看到的不匹配行可能只是使用了 space 字符。
我想最简单的做法是再次 运行 cut
但寻找 spaces 而不是 TABs.
cat /etc/services | grep -Ev '^#|^$' | cut -f1 | cut -d' ' -f1 | sort -u > uniqueservices.txt && wc -l uniqueservices.txt
我快到了...我应该最终得到 340 个独特的服务。到目前为止,我只能把它降到341。
这些是我的任务:
- 从文件中提取所有服务名称。
- 按字母顺序对名称进行排序,删除所有重复项。
- 删除所有空行或不包含字母的行 字母表。
- 将最终输出捕获到名为 'uniqueservices.txt'. 的文件中
- 使用条件命令计算文件中的行数 如果前面的组合命令成功则执行。
这是我使用的命令:
cat /etc/services | grep -Ev '^#|^$' | cut -f1 | sort -u > uniqueservices.txt && wc -l uniqueservices.txt
这是我应该得到的:
This is what I should get
这是我实际得到的:
What I actually get
我猜(一如既往)有更好的方法来做到这一点,但是......嘿,我是新手。不过很接近!
提前致谢。
S
命令的 cut -f1
部分通过扫描制表符分隔符的行来确定“第 1 列”的含义。您看到的不匹配行可能只是使用了 space 字符。
我想最简单的做法是再次 运行 cut
但寻找 spaces 而不是 TABs.
cat /etc/services | grep -Ev '^#|^$' | cut -f1 | cut -d' ' -f1 | sort -u > uniqueservices.txt && wc -l uniqueservices.txt