转换空格分隔的txt文件为csv文件的shell命令
而且空格数并不确定
cat test.txt | sed 's/\t/,/g;s/[[:space:]]//g' >test.csv
PS:有个简洁的方法
cat test.txt | tr "[[:space:]]"
"\t" >test.csv
注:cat test.txt
| tr "old value" "new
value" >test.csv
sed详解
sed 执行过程为:
1. 从输入读取一行数据存入临时缓冲区,此缓冲区称为模式空间(pattern space)
2. 按指定的 sed 编辑命令处理缓冲区中的内容
3. 把模式空间的内容送往屏幕并将这行内容从模式空间中删除
4. 读取下面一行。重复上面的过程直到全部处理结束。
sed p操作
显示文件的全部内容
$sed -n p test.sh
显示文件第五行的内容
$sed -n 5p test.sh
显示文件最后一行的内容
$sed -n '$p' test.sh
显示文件从第3行开始到第10行的内容
$sed -n 3,10p test.sh
显示文件第3行以及之后10行的内容
$sed -n 3,+10p test.sh
显示文件从第3行开始到最后一行的内容
$sed -n '3,$p' test.sh
显示文件从第3行开始步长为5的行的内容