当一件事记不住时,就需要不停去查。比如使用 awk 去处理单引号和双引号,搜索排名第一的文章是博客园的emanlee的文章,常年霸榜:
双引号:
awk '{print "\""}' #放大:awk '{print " \" "}'
复制
单引号:
awk '{print "'\''"}' # 放大: awk '{print " ' \ ' ' " }'
复制
一般使用单引号或双引号生成 Python 列表数据时会用到此技巧,比如:
$ ls 扫描全能王*| cat | awk '{print "'\''"$0"'\'',"}'
复制
处理好的数据插入到 Python 列表中类似下面这样:
像这类批量加单引号、双引号的操作,一般使用编辑器完成。比如在 vscode 中使用它的多行编辑功能:按住 Alt 键,点鼠标插入编辑点。
此时插入点处于一闪一闪的高亮状态,可以进行批量添加或删除操作。优点是可以在任意点插入,不用保持列对齐,缺点是需要一个位置一个位置的点击。
当数据不多时,可以使用 vscode 的多行编辑功能。如果数据太多,比如超过100行,还是老老实实地使用 awk 、sed 或 vim 之类的批量编辑工具。
vim 支持录制宏,还是以在每行的首尾加单引号的操作为例,vim 中录制宏的命令为:
qa0i'Esc$a',Escjq
复制
分步解释每个命令代表的意思:
q 录制宏开始
a 宏名命名为a
0 切到行首
i 切到插入模式
‘ 插入模式输入单引号
Esc 退出到命令模式
$ 切到行尾
a 切到追加模式
' 插入模式输入单引号
, 插入模式输入逗号
Esc 退出到命令模式
j 跳到下一行
q 宏录制结束
宏录制完后可以使用 @a 单次调用,如果需要指定次数,调用时加个数字,比如调用10次:10@a
如果需要对所有行调用宏,可以在调用前加一个比较大的数字,比如 100@a ,当处理到最后一行会自动停止。
vim 也支持多行编辑,详情可以参考之前的文章:
全文完。
如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。
提示:下方是广告...
文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。