8.12 tee_tr_split命令

tee命令

  • 清空文件內容 >1.txt
[root@hf-01 ~]# > 2.txt
[root@hf-01 ~]# cat 2.txt
[root@hf-01 ~]#
  • tee命令和輸出重定向>相似,重定向的同時還在屏幕顯示
    • tee命令,就是重定向,把前面命令輸出的結果打印到屏幕上
    • -a參數,追加劇定向
[root@hf-01 ~]# cat 3.txt
asda
123 fgdg,45
1
abc
cda
abc
1
[root@hf-01 ~]# sort 3.txt |uniq -c |tee a.txt
      2 1
      1 123 fgdg,45
      2 abc
      1 asda
      1 cda
[root@hf-01 ~]# cat a.txt
      2 1
      1 123 fgdg,45
      2 abc
      1 asda
      1 cda
[root@hf-01 ~]#

tee命令參數-a

  • tee -a 就是追加劇定向
[root@hf-01 ~]# sort 3.txt |uniq -c |tee -a a.txt
      2 1
      1 123 fgdg,45
      2 abc
      1 asda
      1 cda
[root@hf-01 ~]# cat a.txt
      2 1
      1 123 fgdg,45
      2 abc
      1 asda
      1 cda
      2 1
      1 123 fgdg,45
      2 abc
      1 asda
      1 cda
[root@hf-01 ~]#

tr命令

  • tr 命令,用來替換字符的命令,tr 'a' 'b',大小寫替換tr '[a-z]' '[A-Z]'
    • 支持寫多個字符替換
[root@hf-01 ~]# echo "hanfeng" |tr '[hf]' '[HF]'
HanFeng
[root@hf-01 ~]# echo "hanfeng" |tr 'h' 'H'
Hanfeng
[root@hf-01 ~]# echo "hanfeng" |tr '[a-z]' '[A-Z]'
HANFENG
[root@hf-01 ~]#
  • 字符替換數字的時候,須要注意格式
    • 替換數字的時候,須要去除方括號[]
[root@hf-01 ~]# echo "hanfeng" |tr '[a-z]' '[1]'    //錯誤示範,這樣寫會出錯
]1]]]]]
[root@hf-01 ~]# echo "hanfeng" |tr '[a-z]' '1'        //在替換成數字的時候,須要去除方括號
1111111
[root@hf-01 ~]#

split命令

  • split 切割,將一個大文件切割成不少個小文件
    • -b大小(默認單位字節)
      • 格式:split -b 100M bigfile
        • 若不寫單位,會默認是字節
    • -l行數
      • 格式:split -l 1000 bigfile
[root@hf-01 ~]# find /etc/ -type f -name "*conf" -exec cat {} >>a.txt \;    //將etc目錄下全部文件以conf結尾的文件全都輸出重定向到a.txt文件中
[root@hf-01 ~]# du -sh a.txt
252K	a.txt
[root@hf-01 ~]# mv a.txt 111/    //把a.txt文件移動到111目錄下
[root@hf-01 ~]# cd 111/            //切換到111目錄下
[root@hf-01 111]# ls
a.txt
[root@hf-01 111]# split -b 1000 a.txt    //單位是字節(1000byte=1k)
[root@hf-01 111]# ls
a.txt  xbe  xcj  xdo  xet  xfy  xhd  xii  xjn  xks  xlx  xnc  xoh  xpm  xqr  xrw  xtb
xaa    xbf  xck  xdp  xeu  xfz  xhe  xij  xjo  xkt  xly  xnd  xoi  xpn  xqs  xrx  xtc
xab    xbg  xcl  xdq  xev  xga  xhf  xik  xjp  xku  xlz  xne  xoj  xpo  xqt  xry  xtd
xac    xbh  xcm  xdr  xew  xgb  xhg  xil  xjq  xkv  xma  xnf  xok  xpp  xqu  xrz  xte
等等等,只截取了一小部分
[root@hf-01 111]# du -sh        //查看目錄下文件大小
2.3M	.
[root@hf-01 111]# du -sh *        //會看到分割出來的都佔據了一個塊
252K	a.txt
4.0K	xaa
4.0K	xab
4.0K	xac
4.0K	xad
等等等,只截取了一小部分
[root@hf-01 111]# rm -f x*

在切割一個文件,在不指定任何的文件名,最後顯示的切割完的文件,會是已xab,xac這樣一直延續下去,若再切割一次,則會zxaaa,zxaab等依次下去code

  • split -b指定單位大小切割
[root@hf-01 111]# 
[root@hf-01 111]# split -b 100k a.txt
[root@hf-01 111]# ls
a.txt  xaa  xab  xac
[root@hf-01 111]# du -sh *
252K	a.txt
100K	xaa
100K	xab
52K	xac
[root@hf-01 111]# rm -f x*
[root@hf-01 111]#
  • 指定文件大小的同時,指定文件的名稱
[root@hf-01 111]# split -b 100k a.txt abc
[root@hf-01 111]# ls
abcaa  abcab  abcac  a.txt
[root@hf-01 111]# split -b 100k a.txt abc.
[root@hf-01 111]# ls
abcaa  abc.aa  abcab  abc.ab  abcac  abc.ac  a.txt
[root@hf-01 111]# rm -f abc*

切割的文件默認是以x開頭!!!qt

split命令的參數-l

  • split -l 指定行數
[root@hf-01 111]# split -l 1000 a.txt
[root@hf-01 111]# ls -l
總用量 512
-rw-r--r--. 1 root root 256144 11月 18 06:41 a.txt
-rw-r--r--. 1 root root  44741 11月 18 06:59 xaa
-rw-r--r--. 1 root root  44239 11月 18 06:59 xab
-rw-r--r--. 1 root root  44320 11月 18 06:59 xac
-rw-r--r--. 1 root root  34153 11月 18 06:59 xad
-rw-r--r--. 1 root root  38618 11月 18 06:59 xae
-rw-r--r--. 1 root root  34693 11月 18 06:59 xaf
-rw-r--r--. 1 root root  15380 11月 18 06:59 xag
[root@hf-01 111]# wc -l *
  6548 a.txt
  1000 xaa
  1000 xab
  1000 xac
  1000 xad
  1000 xae
  1000 xaf
   548 xag
 13096 總用量
[root@hf-01 111]#
相關文章
相關標籤/搜索