0

私は初心者です。 Linux シェルを使用して、次のファイルを作成したいと考えています。

1 2 2
2 3 4
4 5 2
4 2 1
....

の中へ

1,2,2
2,3,4
4,5,2
4,2,1

どうもありがとうございました!

4

2 に答える 2

2

あなたはこのようなものを探しています:-

sed -e "s/ /,/g" < a.txt

または次のように簡単かもしれません:

tr ' ' ',' <input >output

または Vim では、正規表現を使用できます。

s/ /,/g
于 2013-10-04T16:33:12.523 に答える
1

質問は「行ごと」です。でbash :

while read line; do echo $line | sed 's/ /,/g'; done < file

行ごとに読み取りfile、各行をline印刷 ( echo) し、パイプ ( |) して、sedスペースをコンマに変換します。ファイルに保存する必要がある場合は> newfile、最後に追加できます(ただし機能しません)。> file

ただし、ファイル内の文字を変更する以外に何も必要ない場合は、ファイル全体を一度に処理する方が簡単で、おそらく高速です。

sed -i 's/ /,/g' file

(オプション-iは、変更を に出力するのではなく、ファイルを直接変更するためのものですstdout)。

その構文を理解するために詳細を読んsedでください。最終的に必要になります。

于 2013-10-04T16:42:15.663 に答える