簡體   English   中英

無法在Linux中使用AWK編輯文件中的現有日期

[英]Not able to edit existing date in a file using awk in linux

我正在嘗試使用以下命令將日期從30 January 2015格式轉換為30012015 原始格式出現在文件的偶數行中。 我只希望更改該行。 有人可以幫我嗎。

awk '{if(NR%2==1){print $0 > "file.txt"}else{print now=$("$0" +%d%m%Y') > "file.txt"}}' file.txt

你可以試試,

echo -e "whatever\n30 January 2015" | awk '
BEGIN{
    m=split("January|February|March|April|May|June|July|August|September|October|November|December",d,"|");
    for(i=1;i<=m;i++) months[d[i]]=i;
}
NR%2 { print; next }
{
    printf "%02d%02d%04d\n",$1,months[$2],$3;
}'

你得到,

whatever
30012015

暫無
暫無

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

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