linux系统中使用命令 将a.txt文件中的“|” 替换成 “,” 并写入b.txt文件中 sed或者vi 命令都可以实现
a.txt
123|456|789
223|456|789
323|456|789
423|456|789
523|456|780
623|456|780
723|456|780
823|456|780
923|456|780
第一种:cat a.txt |sed -r “s/|/,/g” a.txt >b.txt 【注意是双引号,单引号会出错】
第二种:vi a.txt
按esc
shift G 【跳到最后一行】
:%s/|/,/g 【%s 替换命令 s后面的俩个 分别是 被替换的字段 和要替换成的字段 g是全局 每行都替换】
shift zz 【退出保存】
cat a.txt >b.txt
二 sed 学习链接 :https://www.cnblogs.com/ginvip/p/637604里先简单介绍一下 sed:
sed 是一种新型的,非交互式的编辑器。sed 编辑器没有破坏性,它不会修改文件,除非使用 shell 重定向来保存输出结果。默认情况下,所有的输出行都被打印到屏幕上。
这里只介绍 s 替换 和 d 删出命令:
sed ‘3d’ ceshi.txt 删除第三行
sed ‘s/west/north/g’ ceshi.txt 【 north 替换west 注意这里原始文件 没有被修改 只是作为一个结束 显示】【如果要达到修改效果 需要加 一些参数命令 如: sed -r “s/west/north/g” ceshi.txt】
三 linux系统中的替换操作
基本替换
1: :s/vivian/sky/ #替换当前行第一个 vivian 为 sky
2: :s/vivian/sky/g #替换当前行所有 vivian 为 sky
3: :n,KaTeX parse error: Expected 'EOF', got '#' at position 19: …ivian/sky/ #̲替换第 n 行开始到最后一行中…s/vivian/sky/g #替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
(n 为数字,若 n 为 .,表示从当前行开始到最后一行)