linux 文件转换ascii,linux 小技巧(查找替换文件中的ascii编码字符)

2023-10-27

这里纪录一些linux下用到的小技巧,以免遗忘

在linux中经常碰见各种文件处理。最常用的就是替换文件中的某些字符。常见字符替换还是很容易完成。但是有些不可见字符以及ascii编码字符等等都无法直接使用常见方法替换。这里可以用下面的几种方法进行处理

1.sed 方法

sed -i 's/$(echo -ne "\001")/|/g' file #这里就可以通过这种方式直接使用ascii编码来替换不可见的字符。echo "\001"这种方法可以打印出对应的ascii编码

sed -i ".bak" 's/$(echo -ne "\002")/!/g' file #这里跟上面一样,区别在于有些系统的sed -i参数需要一个备份后缀,会将源文件备份成指定的后缀

2.perl one line 方法

perl -lane '$F[0]=~s/0\x01/|/g' file #这样就可以把文件里对应的001的ascii编码替换成别的字符。这些写成0\x01即可(实际上就是0x01的表述,x被转义)

3.awk 方法

awk '{c=sprintf("%c",1);gsub(/c/,"#",$0);print $0}' file #这种方法就能轻松替换指定的特殊字符。sprintf 能把数字转换成对应的ascii字符。所以可以转换一些不可见,无法直接输入的字符

linux下使用vim替换文件中的^M换行符

在linux下打开windows编辑过的文本,会出现由于换行符不一致而导致的内容格式错乱的问题.最常见的就是出现^M . 我出现的问题是:在windows编辑过的文件,传到linux上后再用vim打开 ...

python 小

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 文件转换ascii,linux 小技巧(查找替换文件中的ascii编码字符) 的相关文章

  • LeetCode 热门100题 2.两数相加

    public class Solution public ListNode addTwoNumbers ListNode l1 ListNode l2 int num1 ListToArray l1 int num2 ListToArray
  • 开源创作工具一览

    GIMP 2 8 http www gimp org 常见的位图编辑工具 不再赘述 新的 2 8 版本增加了单窗口模式 层分组等功能 Fedora 17 安装 pkcon install gimp MyPaint http mypaint
  • 简单的数据库关系表建立

    表与表之间一般存在三种关系 即一对一 一对多 多对多关系 下面分别就三种关系讲解数据库相关设计的思路和思考过程 1 一对一关系 例如 下面的一张表 保存了人的相关信息 有男有女 要求查处所有的夫妻 sql代码 CREATE TABLE IF
  • android上架备案公钥和md5获取工具

    最近很多公司上架遇到了一个问题 就是要提供app的备案证明 现在android上架都需要备案了 但是我们的证书都是通过工具生成的 哪里知道公钥和md5那些东西呢 无论安卓备案还是ios备案都需要提供公钥和md5 包括ios的备案也是 找了很
  • uni-app使用swiper实现tab左右滑动下拉无法触发onReachBottom页面生命周期

    注意要点 1 通过uni getSystemInfo获取设备具体高度 定义swiper的高度 将swiper撑开 2 利用scroll view视图容器的 scrolltolower属性实现触底加载 3 点击tab切换也会触发swiper的
  • MQTT 5.0 Reason Code 介绍与使用速查表

    Reason Code Reason Code 在 MQTT 中的主要作用是为客户端和服务端提供更详细的反馈 比如我们可以在 CONNACK 报文中将用户名或密码错误对应的 Reason Code 反馈给客户端 这样客户端就能够知道自己无法
  • 使用matplotlib和seaborn绘图的常用参数

    plt grid b True ls color 606060 设置网格线 b控制网格线 ls设置网格线的样式 plt tick params labelsize 20 轴数值大小 labelsize设置数值展示大小 plt ylabel
  • JeeSite 是什么、概述

    见JeeSite官网 http jeesite4 mydoc io 前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到教程 总体概述 快速访问 JeeSite 官网地址 http jeesite c
  • 手把手教你归并排序(递归)

    今天 小编继续带大家学习排序算法 这次我们一起来学习归并排序的递归算法 多多点赞支持博主 速更非递归算法哦 目录 一 实现原理 二 代码实现 三 注意事项与缺点 一 实现原理 归并算法的实现与快排类似 都是采用了分治递归的思路 它的时间复杂
  • 关于vue中父页面的生命周期和子组件生命周期关系导致的报错问题解决

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 问题出现的原因 二 问题解决的方法 1 使用v if删除和添加子组件标签 2 合理设置子组件生命周期的函数 三 父页面和子组件的生命流程描述 总结 前言
  • 汇编视角分析C++虚函数实现原理

    1 概述 虚函数是c 语言非常重要的机制 日常的c 编程工作中经常使用虚函数 通过汇编视角来探究虚函数的实现原理 有助于深刻理解虚函数的内部机制 尤其要说明的是 c 语法规范并没有规定虚函数的具体实现方案 不同的编译器实现方式可以不同 本文
  • 高德德图进去不显示地图或者刷新页面地图丢失解决方法

    在mian js中写这个就可以了 防止刷新地图不显示 清除地图换成 const amapKeys Object keys localStorage filter key gt key match AMap amapKeys forEach
  • opentsdb遇到的坑和优化建议

    opentsdb是基于hbase的时间序列数据库 数据库能力依赖于hbase集群 是一个比较重型的监控解决方案 网上介绍比较多 但大多只是粗浅的介绍 在实际使用了一段时间后也遇到了一些坑和一些使用方法 跟大家分享下 1 opentsdb能做
  • 2023年电赛---运动目标控制与自动追踪系统(E题)OpenART mini的代码移植到OpenMV

    如果有嵌入式企业需要招聘校园大使 湖南区域的日常实习 任何区域的暑假Linux驱动实习岗位 可C站直接私聊 或者邮件 zhangyixu02 gmail com 此消息至2025年1月1日前均有效 前言 1 已经有不少同学根据我上一篇博客完
  • 【Git】(二)分支

    1 创建分支 已存在主分支master 现在需要创建v1 0的版本 一般直接在web页面操作 v1 0分支 基线master 称为项目分支 假如 v1 0项目存在两个项目成员sunriver2000和snow 一般还会再针对个人创建个人分支
  • J2EE&通用分页02

    目录 一 重构 提取公用方法 1 为了进行公共方法的抽取 需要找出上面实习中的可通用部分 和差异化部分 2 公用方法封装思路 3 具体实现 二 分页标签 2 1 准备一个Servlet 3 2 结果展示页面 三 过滤器解决中文乱码问题 四
  • 董事长、总裁和CEO--浅谈公司领导者的称谓与实质

    自从信息产业兴起以来 尤其是网络股泡沫产生以来 CEO 在中国骤然成为一个流行词汇 总经理和总裁们纷纷改称CEO 这个缩写词比它的中译版 首席执行官 更简洁 在中国人心目中更有神圣感 于是便出现了今天CEO满天飞的局面 刚刚从大学毕业的年轻
  • MySQL视图

    一 视图 介绍及基本语法 视图 View 是一种虚拟存在的表 视图中的数据并不在数据库中实际存在 行和列数据来自定义视图的查询中使用的表 并且是在使用视图时动态生成的 通俗的讲 视图只保存了查询的SQL逻辑 不保存查询结果 所以我们在创建视
  • VUE移动端使用overflow-auto滚动条坑

    解决 滚动条 滑动 一次就一直出现在底部问题 在关闭模态框之前 操作原生dom var box document querySelector div box scrollTop 0 设置 滚动条的 位置 为 0 这样 每次重新打开另一条数据

随机推荐