書式設定された結果を既存のテキストファイルに印刷するには、「find」execコマンドを作成する必要があります。いくつかの奇妙な場合は、新しい行の代わりに前の行の最後の行(LFの後にCRがありませんか?)に行を追加します。これが起こらないようにするにはどうすればよいですか?追加する前にテキストファイルを変更するコマンドはありますか? DOS 2 Unix?
答え1
使用:
awk 1 file1 file2 ... > outfile
唯一のcat file1 file2 ... > outfile
問題は、それとは異なり、それらのいずれかが開いてcat
読み取れない場合は、ファイルの残りの部分を続行するのではなく、エラーですぐに終了することです。awk
これが問題の場合、ほとんどの最新システムでは、次の方法を使用して既に提案されているとおりに実行できます。file1
file2
grep ''
ここ+-h
ファイル名を省略するオプション(ただし、これは悪用される非標準機能であることに注意してくださいgrep
):
grep -h '' file1 file2 ... > outfile
答え2
1つの興味深いhack
ことは、awkを使用してbashコマンドをフォーマットし、次のようにbashにプッシュできることです。
awk '{ print "find " $1 " -exec ls {} \;" }' ./source_file | bash
これにより、コマンドをすぐに実行できます。たとえば、次のようになります。
find /var -exec ls {} \;
find /home/user1 -exec ls {} \;
# and so on depending on the contents of the ./source_file
役に立ったことを願っています:)