linux - Linux shell脚本按字母顺序对文本行进行反向排序(最好不使用排序)
问题描述
我正在尝试学习 Linux shell 脚本,所以对此我很陌生。我目前有一个包含 26 个单词的文件(称为 alphabet.txt),每个单词都以 AZ 开头,但这里没有排序。为简单起见,我们将其设为 3 个单词,全部位于不同的行,每个单词以 AC 开头,例如:Banana、Apple、Carrot。
我想知道如何编写一个shell 脚本,它将获取alphabet.txt 的内容,以相反的字母顺序对它们进行排序,然后将排序后的内容放入一个新文件中,例如alphabetSorted.txt。所以最后,alphabetSorted.txt 必须有以下内容:Apple,Banana,Carrot 在不同的行中按顺序排列。
如果可能的话,我想知道如何使它适用于任何文件,而不仅仅是alphabet.txt。
解决方案
您可以使用带有“-r”标志的排序命令,该标志指定逆序排序。
输出可以重定向到一个新文件
sort -r alphabet.txt > alphabetSorted.txt
或者,使用允许指定输出文件的内置选项 -o。
sort -r alphabet.txt -o alphabetSorted.txt
两个命令执行完全相同的操作。
推荐阅读
- java - Android OnCreate 输入包始终为空
- makefile - 有没有人尝试使用 clang/emcc 将 OpenBLAS 编译为 Webassembly?
- javascript - array.push 添加整数作为字符串
- powershell - 如何在powershell中只显示前三行输出
- github - 我可以让 GitHub 自动从 GitHub 存储库视图重定向到 GitHub 页面吗?
- c++ - 使用 CMake (Linux Mint) 编译时如何修复“CXX 编译器的未知功能”
- postscript - 尝试重新定义变量时访问无效
- mysql - 我可以抑制mysqldump的时间戳吗?
- c# - 参数类型的顺序是否会改变 C# 中方法的签名?
- ruby-on-rails - 如何访问在序列化器内部的 ApplicationController 中定义的@current_user 变量