AWK是一種文本分析工具,可以處理以欄位分隔符分隔的文本數據,例如表格。 AWK對於數據的處理具有強大的功能,它支持控制流語句、函數、循環和變數等基本編程功能,也可以在Linux系統中自動化處理一些重複性的工作,提高數據處理的效率。
一、Linux echo命令詳解
echo是Linux系統中常用的命令,用於向標準輸出(STDOUT)中輸出一個或多個字元串。它的一般形式如下:
echo string
其中,string是要輸出的字元串。在這裡,我們可以結合awk命令來實現字元串的處理和列印。
下面是一個例子:
echo "apple banana orange" | awk '{print $1}'
這個命令的輸出結果為:
apple
在這個例子中,我們使用了echo命令輸出一個字元串,並使用管道(|)把輸出結果傳遞給awk命令。我們用awk命令對輸入的字元串進行處理,使用了print命令只列印了第一個欄位,即字元串「apple」。
二、Linux ls命令詳解
ls命令是Linux系統中用於顯示指定目錄下的文件和子目錄的命令。默認情況下,ls命令會按照字母順序列出文件和目錄,但我們也可以使用參數控制ls列出的內容。
下面是一個例子:
ls -l | awk '{print $1, $9}'
這個命令的輸出結果為:
-rw-r--r-- file1.txt -rw-r--r-- file2.txt drwxr-xr-x dir1 drwxr-xr-x dir2
在這個例子中,我們使用了ls命令顯示當前目錄下的文件和子目錄,並使用了管道(|)把輸出結果傳遞給awk命令。我們用awk命令對輸入的字元串進行處理,使用了print命令只列印了每個文件或目錄的許可權和名稱。
三、Linux ll命令詳解
ll命令是Linux系統中的一個常用命令,可以以列表的方式展示指定目錄下的文件和子目錄的詳細信息。
下面是一個例子:
ll | awk '{print $1, $9}'
這個命令的輸出結果為:
-rw-r--r-- file1.txt -rw-r--r-- file2.txt drwxr-xr-x dir1 drwxr-xr-x dir2
類似於ls命令,我們在這個例子中也使用了管道命令把ll命令的輸出結果傳遞給了awk命令。我們用awk命令對輸入的字元串進行處理,使用了print命令只列印了每個文件或目錄的許可權和名稱。
四、Linux tar命令詳解
tar命令是Linux系統中的一個強大的壓縮和打包命令,常用於將多個文件或目錄打包成一個tar文件。tar的含義是「tape archive」(磁帶歸檔),它允許用戶創建壓縮後的文件,然後將這些文件全部打包成一個tar文件。
下面是一個複雜的例子,它演示了如何將一個目錄打包為tar文件,並進行壓縮:
tar -cvf test.tar ./test | gzip -9 - > test.tar.gz
在這個例子中,我們使用了tar命令將一個名為「test」的目錄打包成一個tar文件,並使用了管道命令把打包後的文件傳遞給gzip命令進行壓縮。gzip命令的選項-9表示使用最高的壓縮比,輸出結果會被重定向到test.tar.gz文件中。
五、Linux wc命令詳解
wc命令是Linux系統中的一個非常有用的命令,它可以統計指定文件中的行數、字數和字元數。
下面是一個例子:
cat file1.txt | wc
這個命令的輸出結果為:
8 16 116
在這個例子中,我們使用了cat命令將文件file1.txt的內容輸出到標準輸出,並使用管道命令把輸出結果傳遞給wc命令。wc命令統計了文件的行數、單詞數和字元數,並將結果輸出。
六、Linux rm命令詳解
rm命令是Linux系統中常用的刪除命令,用於刪除文件或目錄。
下面是一個例子:
rm file1.txt
這個命令將刪除名為file1.txt的文件。
需要注意的是,rm命令可以刪除整個目錄。如果要刪除目錄及其所有子目錄和文件,需要使用-r選項。
七、Linux yum命令詳解
yum命令是Linux系統中的一個軟體包管理器,用於在Linux系統中安裝、更新和卸載軟體包。
下面是一些常用的yum命令:
yum install package_name # 安裝指定軟體包 yum update package_name # 更新指定軟體包 yum remove package_name # 卸載指定軟體包 yum search keyword # 搜索軟體包
需要注意的是,yum命令需要在具有root許可權的用戶下才能使用。
八、Linux的awk命令大全
下面是一些常用的awk命令:
- awk ‘{print $1}’ file.txt 顯示文件file.txt中的第一列
- awk ‘{print $NF}’ file.txt 顯示文件file.txt中的最後一列
- awk ‘{print NR, $0}’ file.txt 顯示文件file.txt中的每一行,並附帶行號
- awk ‘/keyword/ {print $0}’ file.txt 顯示文件file.txt中包含關鍵字「keyword」的行
- awk ‘BEGIN {command} {print $0} END {command}’ file.txt 在awk腳本開始前執行BEGIN命令,結束後執行END命令
- awk -F”:” ‘{print $1, $NF}’ /etc/passwd 顯示系統中所有用戶的用戶名和用戶組
- awk ‘$5 >= 80 {print $1, $5}’ scores.txt 顯示文件scores.txt中分數大於等於80分的學生姓名和成績
九、Linux中awk用法詳解
在Linux系統中,awk命令的格式如下:
awk options 'pattern{action}' filename
其中,options是用於指定命令行選項的字元串。pattern是用於指定匹配模式的字元串,action是在匹配模式的情況下執行的動作。
下面是一些常用的options選項:
- -F fs 指定欄位分隔符為fs
- -f file 從file文件中讀取awk腳本
- -v var=value 定義一個變數var,並賦值為value
- -W 忽略空格字元,將” ”和”\t”視為分隔符
下面是一個例子,它演示了如何在awk命令中使用options選項和pattern動作:
awk -F":" '$3 > 100 {print}' /etc/passwd
這個命令的輸出結果為:
user1:x:101:100:user1:/home/user1:/bin/bash user2:x:102:100:user2:/home/user2:/bin/bash user3:x:103:100:user3:/home/user3:/bin/bash
在這個例子中,我們使用了-F選項指定了欄位分隔符為「:」,並使用了$3 > 100這個pattern匹配了UID為大於100的用戶。在匹配到如上條件時,我們使用了print動作,輸出了與條件匹配的整行內容。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/277630.html