linux 命令之文件管理命令排序、去重,統計,轉換(sort,uniq ,wc ,tr)

  1. sort :默認是按ASCII碼進行排序的

    常用選項:

    -n :按數值大小排序

     -r: 倒敘排列

     -k: 指定字段排序

     -t: 指定分割符

     -u: 去掉重複

    例如:sort -nk3 -t: /etc/passwd

               cat /proc/cpuinfo |grep ' physical id' |sort -u |wc -l

  2. uniq: 去重,這裏的去重指的是相鄰行,纔會去重

    -d: 只顯示重複的行

    -D: 把所有重複的行都顯示出來

    -c:顯示每行重複的次數

  3. wc: print newline ,words , bytes count,打印出文本的行,詞數,和字節數

    -l: 行數

    -w:次數

    -c:字節數

     -m:字符數

  4. tr: translate and delete character ,只能通過管道等stdin ,不能直接接文件,但是可以通過 <file方式讀取即可

    1.大小寫轉換

     tr 'a-z' 'A-Z'

    2.-d: 刪除在字符集中出現的所有字符

    tr -d '0-9'  /etc/passwd

    3.-c:字符集補集,這裏引用集合的概念

     echo "dfajskdlfjDFJKLAJKL3432109IFIASF@#$#@$" |tr -d -c '0-9'

    結果:3432109

    4. -s: 壓縮空白字符,功能就是將多個空格壓縮成一個空格

     echo "adf dfasdj    fdsfjlfj  fdsf"|tr -s ' '

    結果:adf dfasdj fdsfjlfj fdsf

    5.利用tr 進行數字相加 如 1加到 100

     echo {1..100}|tr ' ' '+'|bc

     結果:

   5050

   拓展:使用 seq sed 等

   

   seq 100|tr '\n' '+'|sed 's/+$/\n/'|bc

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章