獲取的數據創建腳本我有一個名爲stat.txt文本文件,其中包含格式從一個文本文件
<User Name>-<IP>-<File Name>-<Size>
每個線。每行包含用戶名,IP地址,文件名和下載文件大小。我需要創建一個腳本userstat.awk,它允許在寫入特定命令時獲得以下數據:
userstat。 AWKü - 將會列出所有文件中的所有文件
到目前爲止,我已經嘗試列出所有用戶使用默認的命令文件 userstat.awk總 - 將會名單總規模,但使用這些我做不到命令。
獲取的數據創建腳本我有一個名爲stat.txt文本文件,其中包含格式從一個文本文件
<User Name>-<IP>-<File Name>-<Size>
每個線。每行包含用戶名,IP地址,文件名和下載文件大小。我需要創建一個腳本userstat.awk,它允許在寫入特定命令時獲得以下數據:
userstat。 AWKü - 將會列出所有文件中的所有文件
到目前爲止,我已經嘗試列出所有用戶使用默認的命令文件 userstat.awk總 - 將會名單總規模,但使用這些我做不到命令。
鑑於stat.txt:
user-1.1.1.1-file.jpg-20
root-1.1.1.1-file.jpg-20
user-1.1.1.1-img.jpg-20
root-1.1.1.1-thing.jpg-20
你可以使用命令(由@ClasesWikner提高):
awk -F- '{print $3; s+=$4}END {print "total: " s}' stat.txt
爲了輸出:
file.jpg
file.jpg
img.jpg
thing.jpg
total: 80
正如提到的@Scheff在用戶名或文件名包含時不起作用。
但爲什麼不一次打印呢? awk -F-'{print $ 3; s + = $ 4} END {print「total:」s}'stat.txt –
@ClaesWikner你是對的,那就更好了! –
你能給我們一個樣本輸入文件和你的預期輸出嗎?那樣就好了。 – JFS31
乍一看,它看起來很簡單,因爲您可以在awk中更改列分隔符。在這種情況下,可以使用'awk -F-'。但是如果''或''包含一個' - ',這將失敗。如果'<' and '>'是模式的物理部分,我將使用正則表達式來分隔字段。請提供示例輸入和預期的輸出,如已經建議的... –
Scheff
也許你可以添加一些示例數據。如果可能,發佈您的代碼。 – luoluo