GNU/Linux >> Linux の 問題 >  >> Linux

複数行の出力を 1 行に連結する方法は?

出力を xargs にパイプする 出力の各行をスペースで 1 行に連結します:

grep pattern file | xargs

または任意のコマンド。 ls | xargs . xargs のデフォルト制限 出力は最大 4096 文字ですが、次のように増やすことができます。 xargs -s 8192 .

grep xargs


tr '\n' ' ' を使用 すべての改行文字をスペースに変換するには:

$ grep pattern file | tr '\n' ' '

注:grep ファイルの読み取り、cat ファイルを連結します。 cat file | grepしないでください !

編集:

tr は、1 文字の翻訳のみを処理できます。 awk を使用できます 出力レコード区切りを次のように変更します:

$ grep pattern file | awk '{print}' ORS='" '

これは次のように変換されます:

one
two 
three

へ:

one" two" three" 

Linux
  1. ファイルに複数の行を追加するにはどうすればよいですか?

  2. カラー出力をgrepする方法

  3. Linux で出力行ごとに 1 つのファイル名をリストするにはどうすればよいですか?

  1. ターミナルでマルチスレッドGrepを開始する方法は?

  2. Sedを使用してテキストファイルから複数のランダム行を削除する方法は?

  3. 複数のファイルの内容を 1 つのファイルに追加する方法

  1. 複数のサーバー間で「ps」を送信し、出力を1つのテキストファイルに送信しますか?

  2. ファイル内の複数の文字列を見つける方法は??

  3. 複数行をカンマ区切りの 1 行にする