私は参加したい2つのcsv/textファイルを持っています。両方とも同じ第1行を含む。私は、sedとcatを使ってマージされたファイルを生成する方法を理解しようとしていますが、最初の行は1つしかコピーされていません。そして私は文法を持っている時間があります。どんな助けも大いに評価されるでしょう:-D! おかげで、 アンドリューFile1 +(File2 - 1行目)> File3
答えて
これは、data2.txt
からの最初の行をスキップし、ファイルmerged.txt
内のファイルdata1.txt
とdata2.txt
を結合します。あなたはそれでOKであればそれはawkを使用しています:
(cat data1.txt; awk 'NR>1' data2.txt) > merged.txt
awkはファイルdata2.txt
から行番号> 1を持つすべての行がmerged.txt
をファイルに追加します。
NR
は、処理中のファイルの現在の行番号を表す組み込みのawk変数です。ブール式NR > 1
が真の場合、awkはその行を暗黙的に出力します。あなたはdata1.txt
そのまま維持を気にしなかった場合は
、あなたは自分の第二のファイル(マイナスの最初の行)を追加し、減らすことができるだけでこれに:
awk 'NR>1' data2.txt >> data1.txt
awkを持つ別のオプション:
awk 'NR==FNR || FNR>1' file1.txt file2.txt .. fileN.txt
これは、最初のファイルのすべての行、または後続のファイルの最初の行の後の行を表示します。 1行 「1つのD」で解決
これを行うとどうなるでしょう: 'awk 'NR == FNR || FNR> 1 '* .txt' –
ファイルグロブに一致したファイルの順序に依存します。それらがすべて同じ最初の行を含んでいれば、これは安全であるはずです。なぜそれを試してみて、何が起こるか見てみませんか? – ghoti
はFILE2
で次のコマンドを最初の行を削除することを意味し、私が最も簡単な解決策があると言うだろう
sed '1 d' file2 >> file1
ををfile1した結果を追加します:
(cat file1.txt ; tail -n +2 file2.txt) > file3.txt
それはあなたがやっているだけで何明確に述べるの利点があります:すべてが、SEの最初の行を印刷し、その後、全体の最初のファイルを印刷condファイルを使用して、3番目のファイルに出力を書き込みます。
うわー!!!みんな、ありがとう!!!!!!! :-D –
- 1. "gvim -O file1.py file2.py file3.py"コマンドを自動実行するシェルスクリプトの記述方法
- 2. file2の列一致に基づいてfile1の行を削除する方法
- 3. sed file2の内容をfile1の内容で置き換えます
- 4. xls2csv file1.xls> file1.csv
- 5. "mycommand >> file1 >> file2"が両方のファイルに追加されないのはなぜですか?
- 6. file2.pdfからfile1.pdfにページを追加する方法
- 7. パイソン:</p> <pre><code>$ myScript --aParameter file1 file2 file3 ... fileN </code></pre> <p>はどのようにそれを行うことができます:を使用して、可変サイズPythonで
- 8. c#File1のテキストは、実行時にfile2の置き換えを続ける
- 9. file2に存在するfile1の行を削除してください。
- 10. cmake:if(file1 IS_NEWER_THAN file2)が壊れていますか?
- 11. ループを使用してfile1に存在するfile1の行を抽出します
- 12. file1の行がfile2の行のサブセットであるかどうかをテストします。
- 13. コマンドを使用してFILE2.TXT> AWK
- 14. UNIX findを使用してfind(file1 OR file2)を検索する方法?
- 15. 2つのファイルキーを比較し、file1の対応するキーでfile2の値を更新します。
- 16. 古いコードはfile1.pyで
- 17. 私は2つのファイル<br> File1の内容ましUNIX
- 18. 1行目 - 1セル目、2行目 - 2セル目、3行目 - 3セル目
- 19. file2に含まれていないfile1に含まれる文字列を検索します。
- 20. scanner1を使用してfile1の単語がfile2に存在するかどうかを確認するNoSuchElementException
- 21. awkがfile1とfile2を読み取って2つの違いを表示する
- 22. 実行バットファイル1
- 23. REACTJSは:私は2つのファイルReactjs <br> file1.jsを持って
- 24. ディレクトリ内のファイルのリストを呼び出して1行に渡します
- 25. 「tar -cvf/dev/nst0/home/user1 >> file1.log」とは何ですか?
- 26. os.path.abspath(「FILE1.TXT」)は
- 27. bashスクリプトを1行ずつ実行する方法は?
- 28. HTTP 1つの<input>
- 29. 動作しませんでした何FILE2
- 30. FORループは、ウィンドウ内の最後の項目のみを実行します。遅延拡張を使用したバッチファイル
また、 'awk 'の代わりに' tail -n + 2'を使用することもできます。 –
@ TannerL.Swettきちんと頭を使うか頭を使っているかを考えていましたが、私はawkでこれをどうやって行うのか確信していました。もちろん、OPが 'data1.txt'を保存することに気をつかない場合は、最初のコマンドをスキップして2番目のファイル(最初の行)をそのファイルに追加することができます。 – Levon