shell腳本--管道的使用實例

管道經常用於拼接命令,通過管道可以執行一些複雜的數據處理操作。以下爲在shell中使用管道處理數據的的幾個實例

示例1:生成一個8位的隨機密碼

tr -dc A-Za-z0-9_ </dev/urandom  | head -c 8 | xargs


示例2:查看系統中所有的用戶名稱,並按字母排序

awk -F: '{print $1}'  /etc/passwd | sort


示例3:列出當前用戶使用最多的5個命令(print的列數根據實際情況而定)

history | awk '{print $2}' | sort | uniq -u | sort -rn | head -5


示例4:查看系統中有哪些用戶的登陸shell時/bin/bash

cat /etc/passwd | grep "/bin/bash" | cut -d: -f1,6     

#cut -d: -f1,6 表示以:爲分隔符顯示第1和第6列的內容-d指定分隔符,-f指定列


示例5:查看當前目錄的子目錄個數

ls -l | cut -c 1 | grep "d" | wc -l

#ls -l   長格式列出當前目錄的所有內容,每行的第一個字符表示文件的類

#cut -c 1  截取每行的第一個字符

#grep "d"  獲取文件類型是目錄的行

#wc -l   統計grep命令輸出的行數,即子目錄個數、


示例6:合併兩個文件的內容

cat 1.txt | paste -d: 2.txt -

#paste -d: 2.txt - 表示以:爲分割符合並兩個文件,合併時2.txt文件的內容在前  -代表1.txt文件


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