Shell中字串反轉的幾種技巧
【方法一】利用rev命令
備註:
1) rev命令可以對字串進行反轉
2) rev命令還可以對一個或多個檔案進行反轉
【方法二】利用sed命令s引數來替換
1) 對字串長度比較小的轉換
2) 對字串長度比較大的轉換
備註:
1) (.)-->正則表示式中分組匹配,匹配到之後在用具體位置引數\3\2\1來實現反轉
2) 同時使用-r引數,表示擴充套件正則表示式,那樣的話,就無需使用反斜槓來轉譯了
【方法三】利用awk命令
備註:
1) substr($0,i,1),表示取當前字元從索引i開始,取當前位
2) length即當前字串的長度,即3
3) line=substr($0,i,1) line;將三個值分別保持在記憶體棧中,到時候打印出來就成CBA
substr($3,6,2) ---> 表示是從第3個欄位裡的第6個字元開始,擷取2個字元結束.
substr($3,6) ---> 表示是從第3個欄位裡的第6個字元開始,一直到結尾
【方法四】利用python工具
備註:
1) 在Python中可以很方便實現字串反轉[::-1]
2) -c command: 表示執行時以命令性字串提交Python指令碼
3) raw_input()將管道傳過過來的值作為字串輸入【方法五】利用Perl工具
備註:
1)
print scalar reverse $_ 將管道傳遞過來的字串傳到預設標量$_,再用reverse取反
2) -e 讓Perl程式可以在Perl命令列中執行,比如: perl -e 'print "Hello,World!\n"'
3) -n 增加了迴圈功能,可以一行行處理文字
4) -l 用來給每行增加一個換行符"\n"
【方法六】利用bash實現
備註:
1) { cmd1;cmd2;cmd3;},在當前的Shell下順序執行命令,第一條命令與{之間有空格,最後一個命令;結尾
2) read通過管道讀取傳過來的字串,讓其放置在預設的REPLY變數中,再通過迴圈${str:i:1}顯示
【方法七】利用指令碼實現
備註:
1) ${STR:i:1},字串取索引,長度為,分別取到D,C,B,A
2) -n --> 取消換行符
3) -e --> 對換行符等特殊字元進行轉譯