次の内容を含むCAMS.txtというテキストファイルがあります。
4153999999999991
4153999999999992
4153999999999993
4153999999999994
4801999999999991
4801999999999992
4801999999999993
CAMS.txt ファイルを CAMS1.txt と CAMS2.txt という 2 つのファイルに分割したいと思います。その内容は次のとおりです。
CAMS1.txt
4153999999999991
4153999999999992
4153999999999993
4153999999999994
CAMS2.txt
4801999999999991
4801999999999992
4801999999999993
実際、元のCAMS.txtファイルの最初の4桁に基づいてファイルを分割します。常に4153と4801です。私はUNIXの世界に初めて触れました=)
ベストアンサー1
awk '/^4153/ {print >"CAMS1.TXT"; next} {print >"CAMS2.TXT"}' CAMS.TXT
これを行う他の方法があります。別の方法は、2つのgrepコマンドを使用することです。
grep "^4153" CAMS.TXT > CAMS1.TXT
grep -v "^4153" CAMS.TXT > CAMS2.TXT
これはあまり効率的ではありませんが、入力が簡単で、最初のgrepが完了したら、シェル履歴で(「上」矢印キーを使用して)これを呼び出していくつかの変更を行うことができます。もちろん、ファイルを2回読み取るので、ファイルが大きい場合はこれをしないでください。