![查看所有 UNIX 相关文章/常见问题解答](https://www.alaica.com/wp-content/uploads/linux-15.gif)
如何在 Linux 或类 Unix 操作系统下反转一个或多个文件的行?
您可以使用以下任一方法在 Linux 或 Unix shell 中反转字符串。
教程详情 | |
---|---|
难度级别 | 简单的 |
根权限 | 不 |
要求 | Linux 或 Unix |
美东时间。阅读时间 | 1分钟 |
如何在 Linux 和 Unix 中反转字符串?
字符串或单词反转的过程和命令如下:
- 使用 rev 命令按字符反转行和单词
- 使用带有打印标量反向选项的 perl。
- 在 Linux 或 Unix 下可以使用 awk 命令来反转数据。
- 还有 sed 命令一行用于反转给定的输入
- 最后可以写一个shell脚本来一一反转输入
让我们详细查看所有选项和命令。
向 rev 命令问好,按字符反转行
rev 命令复制指定的文件,反转每行中的字符顺序。如果未指定文件,则读取标准输入(来自键盘)。如果安装了 rev 命令,请按如下方式使用它:
回显 “字符串” | rev echo “示例” | 转速
您也可以使用以下语法:
rev <<< "string" rev <<< "Hello World" rev <<< "这是一个测试" # 让我们反转欧拉数 # echo "2.71828" | 转速
反向字符串的外观如下:
![在 Linux 和 Unix 下反转字符串 bash shell 脚本](https://www.alaica.com/wp-content/uploads/linux-65.png)
在 Linux 和 Unix 下反转字符串 bash shell 脚本
您可以将输出存储为 shell 变量,如下所示以进行处理:
var =$ ( rev <<< "input_data_here" ) another_var = "每一刻都是一个新的开始" output =$ ( rev <<< " ${another_var} " )
然后使用 printf 命令或 echo 命令显示它:
printf "%s n " " $var " echo "原件:$another_var " echo " $output "
![如何在 Unix 和 Linux Bash Shell 中反转字符串](https://www.alaica.com/wp-content/uploads/linux-66.png)
在 shell 中反转字符串
关于处理新行 (n) 的说明
下面的例子将会失败:
echo -e 'FoonBar' | echo -e 'FoonBar' | echo -e 'FoonBar' rev echo -e '42n13' | rev echo -e '42n13' | 转速
要解决此问题,请尝试使用 tac 命令或 tail 命令首先打印最后一行。例如:
echo -e 'FoonBar' | echo -e 'FoonBar' | echo -e 'FoonBar' 转| tac echo -e '42n13' | tac echo -e '42n13' | tac echo -e '42n13 ' 转| tac # # macOS 和 *BSD 用户尝试 gtac (GNU tac) 或 tail -r # echo -e '42n13' | 转| tail -r rev <<< $ '42n13' | 尾部-r rev <<< $ '42n13' | tail -r rev <<< $ '42n13' | 尾部-r rev <<< $ '42n13' | 通用汽车公司
![Bash 反转字符串中的字符顺序](https://www.alaica.com/wp-content/uploads/linux-67.png)
Bash 反转字符串中的字符顺序(多行输入)
反转字符串的 Perl 脚本示例
您可以使用 perl ,语法是:
perl -ne 'chomp;打印标量反转。 “n”;' <<< “例子”
或者
回显“示例” | perl -ne 'chomp;打印标量反转。 “n”;'
反转字符串的 Bash shell 脚本示例
您可以使用 bash,示例 bash 脚本是:
#!/bin/bash set -euo pipelinefail input = " ${1:?错误输入缺失} " reverse = "" len = ${#input} for ( ( i = $len - 1 ; i > = 0 ; i-- ) ) do reverse = " $reverse ${input:$i:1} " 完成 echo “输入(原始):$input ” echo “输出(修订版):$reverse ”
运行 .sh 文件 shell 脚本,如下所示:
./script example
加起来
您学习了如何在使用 macOS、Linux、*BSD 或类 Unix 系统时在 Bash 或 KSH 或任何其他现代 shell 中反转字符串。