各行の先頭でN記号をスキップして2つのテキストファイルを比較できますか?
例えばファイル1:
2018-05-31 12:00:00 This is the first line of text.
2018-05-31 12:00:00 This is the second line of text.
2018-05-31 12:00:00 This is the third line of text.
2018-05-31 12:00:00 This is the forth line of text.
2018-05-31 12:00:00 This is the fifth line of text.
そしてファイル2:
2018-05-31 12:00:01 This is the first line of text.
2018-05-31 12:00:02 This is the second line of text.
2018-05-31 12:00:03 This is the third line of text.
2018-05-31 12:00:04 This is the forth line of text.
2018-05-31 12:00:05 This is the fifth line of text.
2つのファイルを1行ずつ比較すると、タイムスタンプの初めのために異なります。
ただし、2つのファイル(日付と時刻)の各行の先頭から最初の19シンボルをスキップすると、ファイルは同じになります。シェルコマンド(スクリプト)を使用してこれをどのように実行できますか?
よろしくお願いします。
答え1
使用cut
:
diff <(cut -c 20- file1) <(cut -c 20- file2)
注:GNUでは、文字cut
オプションは-c
実際には文字ではなくバイトとして機能しますが、出力が特殊文字ではない日付/タイムスタンプで始まる限り問題ありません。