sedまたはawkを使用してファイルから特定の行を抽出する方法

sedまたはawkを使用してファイルから特定の行を抽出する方法

ファイルから日付(「5月1日」など)で始まるすべての行を検索するには、sedまたはawkを使用してどうすればよいですか?このデータを抽出して画面またはファイルに送信する必要があります。ありがとうございます。

ベストアンサー1

次に始まる行を抽出するにはMay 1:

grep "^May 1\b" file

または:

sed -n '/^May 1\>/p' file

または:

awk '/^May 1\>/' file

\>上記の2つは、単語境界正規表現をサポートするGNU awkやsedなどのツールがあると想定しています。単語境界の目的は、正規表現の一致を防ぐことです(例:)May 10

もっと

5月のある日を探している場合:

grep -E "^May [[:digit:]]{1,2}\b" file

ある月の特定の日付を探している場合:

grep -E "^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [[:digit:]]{1,2}\b" file

おすすめ記事