簡體   English   中英

重新格式化日期和其他行

[英]Awk to reformat date and other lines

請重新格式化一個60,000行的文件,每行格式如下:

22/02/2016 1234567745678900

第一個序列是日期,第二個序列是數字字符串。 我需要將這兩個字段都提取為輸入變量到Shell腳本中,因此我可以使用這兩個字段來搜索日志文件以提取一些數據。 為了使日期按照日志文件的日期格式進行格式化,我需要將日期修改為unix時間戳格式,以便整個行看起來像

2016-02-22

請問什么是正確的Linux awk咒語?它是如何工作的,以便下次可以復制?

謝謝!

如果要在文件中將字符串22/02/2016更改為22-02-2016,則可以使用VI編輯器。

:%s/22\/02\/2016/22-02-2016/g

它將找到字符串22/02/2016並更改為22-02-2016

$ awk '{gsub("/","-"); print $1,$2,"or",$2,$1}' file
22-02-2016 1234567745678900 or 1234567745678900 22-02-2016

編輯 :對於更新的問題

$ echo "22/02/2016 1234567745678900" | awk '{ split($1,a,"/"); print a[3] "-" a[2] "-" a[1]}'
2016-02-22

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM