暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

awk 单引号 双引号

生有可恋 2024-04-29
428

当一件事记不住时,就需要不停去查。比如使用 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论