複数行に複数のパターンを配置し、同じ行に印刷

複数行に複数のパターンを配置し、同じ行に印刷

パターンの1つが日付と時刻を含むパターンである別の行のファイル内の情報を見つける方法を見つけようとしています。

以下は入力です

unwantedtext unwantedtext unwantedtext unwantedtext 8/1/2022 6:15 (1st required pattern using date and time format and the date and time can be changed)

unwantedtext unwantedtext unwantedtext unwantedtext 
unwantedtext unwantedtext INC-220721-00007628 (2nd required pattern)

また、2番目のファイルでも、2番目のパターンの一部が常に3行目にあるわけではありませんが、日付と時刻の情報とはまったく異なる行にあります。

2番目のパターンは常にINCで始まり、その後に年、月、日付情報が続きます。

INC

必ずこのINCを最初の3桁に入力してください。

INC-YYMMDD

INCの後に日時が続きます。

INC-YYMMDD-00000000

YYMMDDの後には、任意の8桁の数字が続きます。

-

ハイフンは常に2番目のパターンを区別する役割を果たします。

次のような結果を期待しています

INC-220721-00007628,8/1/2022 6:15 

テストにはWindows CYGWYNを使用し、大量のファイルにはCENTOS 7を使用します。

すべての提案に事前に感謝します。

ベストアンサー1

値は次のように仮定します。いつもペアでgrep見つけることができ、paste次のものと組み合わせることができます。

$ grep -oP '\b\d{1,2}/\d{1,2}/\d{4} \d{1,2}:\d{2}|INC-\d{6}-\d{8}\b' file | 
  paste -d "," - - 
8/1/2022 6:15,INC-220721-00007628

おすすめ記事