Linux命令——字符串反轉


一、rev命令

  1.字符串反轉

  2.一個或多個文件的反轉

echo "A B C D" | rev

 二、sed 命令

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

 

  (.)  正則表達式中的分組匹配,匹配之后再用具體位置參數 \4 \3 \2 \1來實現反轉

   -r  使用-r參數,表示擴展正則表達式,就不用使用\來進行轉義

1 echo '123456789' | sed -r '/\n/!G;s/(.)(.*\n)/&\2\1/;//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!\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; }

1) { cmd1;cmd2;cmd3;},在當前的Shell下順序執行命令,第一條命令與{之間有空格,最后一個命令;結尾

2) read通過管道讀取傳過來的字符串,讓其放置在默認的REPLY變量中,再通過循環${str:i:1}顯示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM