找回密码
 注册
查看: 6410|回复: 3

vim、vi下文档行前和行末添加字符

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2020-3-21 23:17:50 | 显示全部楼层 |阅读模式
在行尾添加一个' 单引号字符串:
& f" \3 B8 o; z# ]:%s/$/'/g: L7 p, r1 M! R. W0 f0 Z
- E7 \5 {. R5 d3 v. W8 g
在行首添加字符 '单引号字符串:
1 B) u- w1 e  w3 \! @, e. Y:%s/^/'/g   
6 j4 t) y# }% L6 p$ |- }; }  k+ o; S. o! s+ a% ?* E$ J8 Z

5 s! q" [: v# o  ~% M! }' b" i" o' m0 p4 I3 M7 i$ {  T2 |3 K
  x, _4 \& A" C+ y  ~
1 i8 `/ @7 ]: f

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2020-3-21 23:18:19 | 显示全部楼层
发表回复# j4 C0 o& K. a) T1 M8 M
行首 :%s/^/your_word/  o. o% M1 W0 }8 J
2 D7 l- e6 b/ g3 B
行尾 :%s/$/your_word/6 ~1 |. n0 v4 p2 S' g; C  V8 k

5 `5 [" g* H" M" W: O+ j按键操作:
' l7 X9 g' P, M: x3 l6 q' D; ^9 {4 y$ G4 m+ l
注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如”#”,再按Esc,就会全部注释了。, E! Q. D! h1 [, F
, m: C3 q0 x. ?0 D! `
删除:先按v,进入visual模式,横向选中列的个数(如”#”注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式,向下或向上移动光标,选中注释部分,然后按d, 就会删除注释符号(#)。. f$ A5 i, K( G6 h

6 a4 t: o& l1 Q" e3 oPS:当然不一定是shell的注释符”#”,也可以是”//”,或者其他任意的字符;vim才不知道什么是注释符呢,都是字符而已。) z, B  e0 U* i) o& I* Z6 v
$ H+ e. h$ n; v2 T
使用替换命令:1 U/ w$ d, i$ o% }' u0 \$ f' f) z  |
# b+ ]( O) b3 h# R
在全部内容的行首添加//号注释/ T0 \/ c+ c  ?9 f" d; X/ ~
/ P) T8 c5 b% }# J4 X
:% s/^/\/\//g
& |0 j9 o, c( ]: }* f/ V8 y% K) @3 e! J5 s" w) s
在2~50行首添加//号注释) N2 P; ^2 V) l0 p; }9 d

( ^  \1 G" ^( [4 x- N" t1 Z:2,50 s/^/\/\//g
* r' d& Z0 q/ f
9 c3 z# f8 f- V7 l在2~50行首删除//号
5 s' l' J, K& x( [( m" ?3 K) q0 n$ {- H% ^1 y$ L2 ?
:2,50 s/^\/\///g

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2020-3-25 10:58:25 | 显示全部楼层
sed -i '/s/$/\'/g' 文本3 T) {$ b* n" N  G

# M1 b) @- l8 V+ U" v- j在文本的行末添加一个字符:
5 M% A8 W, Y% m* w- I$ f例子:
; P* a, b" f' ~2 ]sed -i "s/$/'/g" nv.txt
& {7 x( y  y: Q. O" \在行首添加字符 '单引号字符串:3 m1 s: A" D4 ?4 O
:%s/^/'/g
+ d( Z) D  V5 B例子:
/ T" y. _8 E% R& X7 {sed -i "s/^/'/g" nv.txt   
7 c; Q; v2 M3 K2 s, f% u. F7 T8 [( K* ^) ?' V
配合sed命令:: U) ]$ o" O# w  s; G
http://www.bbs168x.cn/forum.php?mod=viewthread&tid=805&highlight=sed! ~- W0 o: Q, Z# x
http://www.bbs168x.cn/forum.php?mod=viewthread&tid=199&highlight=sed
- B/ L  q7 p  |4 s# V0 U; r* Ihttp://www.bbs168x.cn/forum.php?mod=viewthread&tid=130&highlight=sed$ b& D* E4 d1 {2 j4 r" c

7 |  h/ R9 W$ p1 l4 o( Lhttp://www.bbs168x.cn/forum.php?mod=viewthread&tid=325&highlight=sed1 ], g5 p8 S; |
http://www.bbs168x.cn/forum.php?mod=viewthread&tid=606&highlight=sed8 _5 E% \6 c3 {; Y+ E. v( k* F

9 s6 ^1 J; N  t1 p1 S# O7 @3 z

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-10-25 11:26:49 | 显示全部楼层
假设处理的文本为test.file,在每行的头添加字符,比如HEAD,命令如下:( Q& ?1 Q1 x$ E6 g0 |

2 i. _" M8 |# Q% V: H1 wsed 's/^/HEAD&/g' test.file. b( I% w- q& [3 ]
在每行的行尾添加字符,比如TAIL,命令如下:) Q( N! J" H5 j' e9 y

9 y3 ]; x  Q; R% @sed 's/$/&TAIL/g' test.file
& P8 u* U3 O3 O几点说明:
2 X3 n6 ?+ R; \6 u, [( N6 ?- s0 Y$ Y- X2 S8 T* A
^代表行首,$代表行尾
# J+ e# x# u; u  h- x, u: o8 o7 O- ^: r& @# e
s/$/&TAIL/g中的字符g代表每行出现的字符全部替换,如果想在特定字符处添加,g就有用了,否则只会替换每行第一个,而不继续往后找了
3 `! N+ R, e; m
- L- Z' W6 t4 [7 |7 a如果想导出文件,在命令末尾加> outfile_name;如果想在原文件上更改,添加选项-i,如+ H  y0 |8 e! G# N
$ e. ~1 \8 D0 B. b4 {
也可以把两条命令和在一起,在test.file的每一行的行头和行尾分别添加字符HEAD,TAIL,命令:% p" G) \8 v3 ~( e- G3 T
5 q4 ^2 n( \. K7 H% {' x
sed '/./{s/^/HEAD&/;s/$/&TAIL/}' test.file% H! l/ g' f: X( {/ c/ d
这样就处理完了
8 i' h/ s& a  A- H1 c  U! W; ^# S+ C7 o* S$ N
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 05:33 , Processed in 0.016701 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表