使用“uniq”并忽略第一个字符,而不是单词

使用“uniq”并忽略第一个字符,而不是单词

我有一个文件夹中的文件列表。使用以下命令显示文件列表:

ls

现在,我想将其通过管道传送到 uniq,这样它会在比较之前忽略前 6 个字符。
这可能吗?或者也许我需要使用另一个命令?
谢谢

答案1

ls将第一个的输出通过管道传输sed到 以去除前 X 个字符,然后将其通过管道传输到uniq

% ls | sed -e 's/.\{X\}//' | uniq

(注意:根据你的情况替换X为)6

答案2

如果您的版本有该选项,请使用-s( )选项。--skip-charsuniq

ls | uniq -s 6

或者

ls | uniq --skip-chars=6

相关内容