我是初学者..我想使用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
非常感谢!
您是否正在寻找这样的东西:-
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
理解它的语法,你最终会需要它。