• Linux命令——字符串反转


    一、rev命令

      1.字符串反转

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

    echo "A B C D" | rev

     二、sed 命令

    echo 'ABCD' | sed 's/(.)(.)(.)(.)/4321/g'
    1 echo 'ABCD' | sed -r 's/(.)(.)(.)(.)/4321/'

     

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

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

    1 echo '123456789' | sed -r '/
    /!G;s/(.)(.*
    )/&21/;//D;s/.//'

     三、awk命令

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

    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]'

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

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

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

    五、Perl

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

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

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

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

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

    六、利用bash实现

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

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

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

  • 相关阅读:
    TreeView使用集锦
    net 下安装、调试的常见问题与错误及解决方法 [转]
    Oracle中使用同义词
    再推荐两个blog和一首好歌
    一点感慨
    推荐一个blog和一个工具
    买书了
    第一次做饭
    ORA00911错误及解决方法
    C#3.0美文收集
  • 原文地址:https://www.cnblogs.com/pegawayatstudying/p/12652426.html
Copyright © 2020-2023  润新知