cd linux命令 反转,Linux命令——字符串反转

本文介绍了使用rev、sed、awk、Python、Perl及bash等工具实现字符串反转的方法。包括正则表达式的应用、循环处理及命令行技巧等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、rev命令

1.字符串反转

2.一个或多个文件的反转

echo "A B C D" | rev

20200407190907161582.png

二、sed 命令

echo ‘ABCD‘ | sed ‘s/\(.\)\(.\)\(.\)\(.\)/\4\3\2\1/g‘

1 echo ‘ABCD‘ | sed -r ‘s/(.)(.)(.)(.)/\4\3\2\1/‘

20200407190907349070.png

(.)  正则表达式中的分组匹配,匹配之后再用具体位置参数 \4 \3 \2 \1来实现反转

-r  使用-r参数,表示扩展正则表达式,就不用使用\来进行转义

1 echo ‘123456789‘ | sed -r ‘/\n/!G;s/(.)(.*\n)/&\2\1/;//D;s/.//‘

20200407190907443790.png

三、awk命令

1 echo ABCD | awk ‘{for(i=1;i<=length;i++) {line=substr($0,i,1) line}} END{print line}‘

20200407190907495545.png

1)substr($i,0,1)表示取当前字符从索引i开始,取当前位

2)length 为当前字符串的长度

3)line=substr($i,0,1) line 将三个值分别保存在内存栈中

>substr($3,6,2)  表示从第三个字段里的第六个字符开始。截取两个字符结束

>substr($3,6)     表示从第三个字段里的第六个字符开始,直到结束

四、利用python

1 echo ABCD | python -c ‘print raw_input()[::-1]‘

20200407190907554135.png

[::-1]  实现字符串的反转

-c commond  表示运行时以命令性字符串提交python脚本

raw_input()  将管道传过来的值作为字符串输入

五、Perl

1 echo ABCD | perl -nle ‘print scalar reverse $_‘

20200407190907620537.png

1)print scalar reverse $_  将管道传过来的字符串传到默认标量$_,再用reverse取反

2) -e             让Perl程序可以在Perl命令行中运行,比如:  perl -e ‘print "Hello,World!\n"‘

3) -n            增加了循环功能,可以一行行处理文本

4) -l             用来给每行增加一个换行符"\n"

六、利用bash实现

1 echo ABCI | { read; for((i=${#REPLY};i>0;i--)) do echo -n ${REPLY:i-1:1};done;echo; }

20200407190907674244.png

1) { cmd1;cmd2;cmd3;},在当前的Shell下顺序执行命令,第一条命令与{之间有空格,最后一个命令;结尾

2) read通过管道读取传过来的字符串,让其放置在默认的REPLY变量中,再通过循环${str:i:1}显示

原文:https://www.cnblogs.com/pegawayatstudying/p/12652426.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值