2016-08-25 8 views
0

私はexcelシートでシェルスクリプトに取り組んでいます。コマンドの下に使用してスクリーンショットに示すように、今まで私が行っている:シェルスクリプトの現在の日付とタイトルをどのように連結できますか?

bash execution.sh BehatIPOP.xls| awk '/Script|scenario/' | awk 'BEGIN{print "Title\tResult"}1' | awk '0 == NR%2{printf "%s",$0;next;}1' >> BehatIPOP.xls 

enter image description here

私の要件は、私も(連結)現在の日付を追加したい見出し結果とともにあります。だから私は、コマンドの下に使用して、日付を取得しています:

$(date +"%d-%m-%y %H:%M:%S") 

ので、日付は次のように表示されます。25-08-2016 17:00:00

しかし、私は以下のような見出しを達成するために、上記のコマンドにdateコマンドを使用することができますどのようになっていない午前:任意の提案のための

|  Title  | Result @ 25-08-2016 17:00:00| 

おかげ..

答えて

0

あなたはawk内の日付をピックアップし、AVでそれを保存することができますこのようなd ariable、それはあなたが何を意味するかである場合:

awk 'BEGIN{cmd="date +\"%d-%m-%y %H:%M:%S\""; cmd |getline d; close(cmd);print "Result @ " d}' 
Result @ 25-08-16 13:44:05 
0

ちょうど直接dateを使用し、ヘッダーのためにすべてのAWKは使用しないでください:

{ printf "Title\tResult @ "; date +"%d-%m-%y %H:%M:%S"; bash execution.sh BehatIPOP.xls | 
    awk '/Script|scenario/' | 
    awk '1 == NR%2{printf "%s",$0;next;}1'; } >> BehatIPOP.xls 

注2 awksための必要はありませんことをしかし、私はdiffを最小限に抑えるためにここに保持しています。私はawkからヘッダーを取り出したので、比較はから1==NR%2に変わりました。

関連する問題