我是初学者..我想使用Linux shell制作以下文件
1 2 2
2 3 4
4 5 2
4 2 1
....
进入
1,2,2
2,3,4
4,5,2
4,2,1
非常感谢!
答案 0 :(得分:2)
你在寻找这样的东西: -
sed -e "s/ /,/g" < a.txt
或者可能更容易这样:
tr ' ' ',' <input >output
或在Vim中你可以使用正则表达式:
s/ /,/g
答案 1 :(得分:1)
问题是“逐行”问。在bash
:
while read line; do echo $line | sed 's/ /,/g'; done < file
它将file
逐行显示为line
,打印(echo
)每一行,并将其(|
)显示为sed
,这将改变空格成逗号。如果您需要将> newfile
存储在文件中,则可以在末尾添加> file
(<{1}}无法使用)。
但如果你不需要更改文件中的字符,那么立即处理整个文件会更容易,也可能更快:
sed -i 's/ /,/g' file
(选项-i
用于直接修改文件,而不是对stdout
进行打印修改。
详细了解sed
以了解其语法,最终您将需要它。