|
>>68user ありがとうございます。 >% sh -x スクリプト名 で確認してみました。 DAYとDATEは誤記ですが、DAYに直しましたが結果は同じでした。 awk -v DAY=$DATE'/^DAY/,/\\r/ {print $0}' ${LOG_FILE} パターンマッチングのところが、引数で渡した値ではなく、 ”DAY”という文字列でした。(文字列と言い切れるのかどうか。?) |
|
>>4824 べた まずはコマンドラインから awk を叩いて、正しい結果を取得できるように なるところから始めましょう。シェルスクリプトはその後。 あと >>4822 68user > 具体的には以下の問題があります。 を直さないと動きません。念のため。 |
|
>>4825 68user 色々とありがとうございます。 試してみます。 |
|
>>4825 68user やはり、「^」を指定しているので、行の先頭が、DAYという 文字列から始まっているのを探していました。 試しにファイルの方を修正し、日付を「DAY Aug 2」としたところ 表示されました。 マッチングのところに、変数を展開できないのでしょうか。 nawk -v DAY="Fri Aug 10" '/^DAY/,/\\r\\n/ {print $0}' /tmp/kekka_log.log |
|
>>4822 68user 返事遅れてすみません。 ありがとうございます。 |
|
>>4827 べた 変数展開は $n ~ VAR と書きます。 で、/\\r\\n/ ですが、これうまく動きますか? awk はよくわかりませんが、 マッチしてないと思います。 なので、DAY から ------ までを見るようにして、 awk -v DAY="Fri Aug 10" '$0 ~ DAY,/^--*$/ {print}' か awk -v DAY="Fri Aug 10" 'BEGIN{skip=1} $0 ~ DAY {skip=1;print $0} /^--*$/ {skip=0} skip==1 {print} ' あたりがいいんじゃないですかね。 なお、行頭の日付だけ見るなら、DAY="^Fri Aug 10" です。 |
|
「リダイレクト」についての説明の中の 『「リダイレクトは右に書いたものから順に評価されるから」は間違いである。』 のくだりが分かりやすくてつい書き込んでしまいました。 他のサイトは上記のような説明で終わっている所があったのですが、 なんとなく「ん?」と違和感が残ってました。 で、このサイトの内容ですっきりです。ありがとうございました。 ドメインも素敵です(笑) |
|
>>4830 通りすがり ありがとうございます。ついでなので書いておくと、先頭に書いてもいいです。 >/dev/null 2>&1 ls foo.txt |
|
>>4829 68user ありがとうございます。 変数の展開ができました。 「'$0 ~ DAY」 の使い方は知りませんでした。 >で、/\\r\\n/ ですが、これうまく動きますか? awk はよくわかりませんが、 >マッチしてないと思います。 ファイルの最後まで見るというつもりでした。 EOFがこの表記でいいのかさなかですが。? 多分、ファイルの最後まで走査し、終了しているのではないかと。 >awk -v DAY="Fri Aug 10" 'BEGIN{skip=1} $0 ~ DAY {skip=1;print $0} /^--*$/ {skip=0} skip==1 {print} ' 日付が二行でます。 Fri Aug 10 ・・・ Fri Aug 10 ・・・ **** **** **** Fri Aug 10 ・・・ Fri Aug 10 ・・・ 見たいになります。 |
|
>>4832 べた > ファイルの最後まで見るというつもりでした。 その挙動でよいのであれば、問題ないと思います (実質機能していないと 思うので、書き方としてはまずいですが)。 > 日付が二行でます。 print $0 を削除するなどしてください。 |
|
>>4833 68user お礼遅れてすみません。 ありがとうございました。 |