在Ubuntu终端对文本文件字符按字母排序并提取唯一字符
Ubuntu下对文本文件字符排序及提取唯一字符的实现
假设你在Ubuntu系统中有文本文件file1.txt,需要将文件内所有字符按字母顺序排序,同时支持后续提取唯一字符。
示例说明
- 输入文件内容:
The man
came home.
- 排序后预期输出:
aaceeehhmmmnot
完整排序命令实现
你已经写出了转小写并过滤字母的部分,补充排序逻辑后的完整命令如下:
cat file1.txt | tr A-Z a-z | tr -dc [:alpha:] | fold -w1 | sort | tr -d '\n'
命令各部分作用
cat file1.txt:读取目标文件内容tr A-Z a-z:将所有大写字母转换为小写tr -dc [:alpha:]:仅保留字母字符,删除空格、标点、换行等其他内容fold -w1:把每个字符拆分为单独一行sort:按字母顺序对单个字符行排序tr -d '\n':删除所有换行符,将排序后的字符合并为一行
提取唯一字符的命令
如果需要提取文件中的所有唯一字符,只需在sort后加入uniq命令即可:
cat file1.txt | tr A-Z a-z | tr -dc [:alpha:] | fold -w1 | sort | uniq | tr -d '\n'
执行后会输出去重后的有序字符:acehmnot
内容的提问来源于stack exchange,提问作者StackerCen
相关产品推荐
相关产品推荐

