hashdeepの出力ファイルの次のフラグメントが提供されます。
7241,11111111111111111111111111111111,\01-data\file1
1237241,22222222222222222222222222222222,\01-data\file2
41,33333333333333333333333333333333,\01-data\file3
次のようにフォーマットするにはどうすればよいですか?
7241,11111111111111111111111111111111,\01-data\file1
1237241,22222222222222222222222222222222,\01-data\file2
41,33333333333333333333333333333333,\01-data\file3
sedを使いたいのですが(これが私が慣れ始めたので)、特定の列に現れる文字だけを変更するようにsedに指示する方法はありますか?
もちろん、他の方法があれば喜んでお知らせします。
-j0
その理由は、hashdeepで(シングルスレッド)オプションを使用せずに2つの出力ファイルを比較できるように、ファイル名の出力をソートしたいからです。
ベストアンサー1
そしてawk
:
awk -v l="$(wc -L <file)" '{printf "%"l"s\n", $0}' file
-v
awk
変数に外部値を割り当てますl
。wc -L <file
ファイル内の最長行の長さを探します。
printf "%"l"s\n", $0
各行を印刷して空白で埋めますl
。 10個のスペースの場合、次のようになりますprintf "%10s\n", $0
。
出力:
7241,11111111111111111111111111111111,\01-data\file1
1237241,22222222222222222222222222222222,\01-data\file2
41,33333333333333333333333333333333,\01-data\file3