私は初心者です。 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
どうもありがとうございました!
あなたはこのようなものを探しています:-
sed -e "s/ /,/g" < a.txt
または次のように簡単かもしれません:
tr ' ' ',' <input >output
または Vim では、正規表現を使用できます。
s/ /,/g
質問は「行ごと」です。で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
でください。最終的に必要になります。