linux基礎命令: tr

基礎命令:  tr  

tr命令

功能:刪除和轉換字符

語法:tr  [OPTION]…. SET1  [SET2]

參數:

-d : 刪除所有屬于第一字符集的字符(刪除某些特殊字符)

-s : 把連續重復的字符以單獨一個字符表示(刪除空行很有用)

舉例

1.把小寫字母轉換為大寫字母;

cat  /etc/fstab  |  tr a-z  A-Z  #a-z轉換為 A-Z

(把fstab中的小寫字母替換為大寫的)

[root@wCentos7 yuedir]# cat /etc/fstab | tr "a-z" "A-Z"
 
#
# /ETC/FSTAB
# CREATED BY ANACONDA ON THU JUL 21 11:22:48 2016
#
# ACCESSIBLE FILESYSTEMS, BY REFERENCE, ARE MAINTAINED UNDER '/DEV/DISK'
# SEE MAN PAGES FSTAB(5), FINDFS(8), MOUNT(8) AND/OR BLKID(8) FOR MORE INFO
#
UUID=B63A2F0C-C9F9-465D-B2B5-3830FEDCCDD2 /                       XFS     DEFAULTS        0 0
UUID=9DEC22F7-215E-4A47-97D1-AE09446D62D2 /BOOT                   XFS     DEFAULTS        0 0
UUID=A138A967-21DB-41E0-9A4A-7A5EB4979481 /TESTDIR                XFS     DEFAULTS        0 0
UUID=BB99272D-4848-49BD-A896-E5F843037CBF SWAP                    SWAP    DEFAULTS        0 0

 

2.刪除字符集中的字符

echo 1asd2cvbg3nh4ttf5yyh6ujjh7jjik8kkk9lll0  |  tr -d a-z

(tr刪除包含在自定義字符集中的字符,保留我們需要的字符)

 

[root@wCentos7 yuedir]# echo “1asd2cvbg3nh4ttf5yyh6ujjh7jjik8kkk9lll0” | tr -d “a-z”
1234567890
[root@wCentos7 yuedir]#

 

3.替換特殊字符串

cat  /etc/fstab | tr #   | tr -d 0-9

(把fstab文件中的 # 替換成 @ ,并且刪除所有的數字)

[root@wCentos7 yuedir]# cat  /etc/fstab | tr '#'  '@'  | tr -d '0-9'
@
@ /etc/fstab
@ Created by anaconda on Thu Jul  :: 
@
@ Accessible filesystems, by reference, are maintained under '/dev/disk'
@ See man pages fstab(), findfs(), mount() and/or blkid() for more info
@
UUID=bafc-cf-d-bb-fedccdd /                       xfs     defaults         
UUID=decf-e-a-d-aedd /boot                   xfs     defaults         
UUID=aa-db-e-aa-aeb /testdir                xfs     defaults         
UUID=bbd--bd-a-efcbf swap                    swap    defaults

小結:tr 命令還有很多的參數,也支持golb的字符集,這個可以參看下man tr,在使用過程中需要許多莫名奇怪的問題,比如:一個 # 號無法替換才 數字或字母,無法替換成 兩個 @@或別的符號,或與關于tr的命令認識很少,以后有時間細細研究。 

原創文章,作者:linux_root,如若轉載,請注明出處:http://www.www58058.com/27709

(0)
linux_rootlinux_root
上一篇 2016-08-03 14:57
下一篇 2016-08-03 15:05

相關推薦

  • 網絡管理之網絡配置

    一:博客 1 centos6網卡別名 在Linux系統中,我們可以在一塊物理網卡上配置多個IP地址,以此來實現類似子接口的功能,我們稱之為網卡別名。 設置網卡別名,先在/etc/sysconfig/network-scripts目錄下將eth0文件復制名為eth0:1的文件,復制文件中的1可隨意設置,但為方便管理建議按順序排列 注意要修改ifcfg-eth0…

    Linux干貨 2016-09-05
  • N22-第九周作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash # declare -i log_user declare -i notlog_user while read&n…

    Linux干貨 2016-10-24
  • N22-第六周作業

    1、復制/etc/rc.d/init.d/functions文件至/tmp目錄,將/tmp/functions文件中 的以至少一個空白字符開頭的行的行首加# ~]# cp /etc/rc.d/init.d/functions /tmp~]# vim /tmp/functions %s@^[[:space:]]\+@#@g 2、復制/boot/grub/gru…

    Linux干貨 2016-10-17
  • Shell腳本編程—函數

    函數:     把一段獨立功能的代碼當作一個整體,并命名一個名字;命名的代碼段,此即為函數     由若干條shell命令組成的語句塊,實現代碼重用和模式化編程 函數的作用:     在某些場景下,我們可以將獨立功能的一段代碼定義為一個函數…

    Linux干貨 2016-08-24
  • 馬哥教育網絡班22期第6周課程作業

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; %s@^[[:space:]]\+@# 2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符; %…

    Linux干貨 2016-12-05
  • 如何解決生產機上php代碼連接mysql報錯的故障

    大家好: 今天分享一則當生產機上的網站php代碼不能連接Mysql服務器時怎么辦? 當LNMP的網站建立好后,我們需要測試網站中的php代碼。但發現如下報錯怎么辦? 解決方法如下:  mysql> show databases; +——————–+ | Dat…

    Linux干貨 2016-12-18
欧美性久久久久