注:下面的直接粘贴会出错,要重新输入^M

如何输入^M,先 ctrl+v,然后 ctrl+m

第一种方法:

cat -A filename 就可以看到windows下的断元字符 ^M
要去除他,最简单用下面的命令:
dos2unix filename
 
第二种方法:
 
sed -i 's/^M//g' filename
 
第三种方法:
 
#vi filename
 
:1,$ s/^M//g

^M 输入方法: ctrl+V ,ctrl+M
 
第四种方法:
#cat filename |tr -d '/r' > newfile
#^M 可用 /r 代替

去掉行首空格或者制表符:

如果确认只是空格:

sed 's/^ *//' infile

如果判断不清行首是空格还是制表符的话, 还可以用这个:

sed 's/^[[:space:]]*//' infile

linux命令(44):sed,vim;去掉文件中的^M 符号,去掉行首空格和制表符的更多相关文章

  1. Linux命令行批量替换多文件中的字符串【转】

    Linux命令行批量替换多文件中的字符串[转自百度文库] 一种是Mahuinan法,一种是Sumly法,一种是30T法分别如下: 一.Mahuinan法: 用sed命令可以批量替换多个文件中的字符串. ...

  2. 【Linux 命令】sed 命令

    文章转载自:https://www.jianshu.com/p/779f40985b20 文本分隔:------ # 在每一行后面增加一空行. sed G # 在每一行后面增加两行空行. sed &q ...

  3. Linux命令之vi/vim(一)

    vi仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但不具备windows下word的排版功能.Vim是Vi improved的缩写,是vi的改进版. vi和vim的区别: 多级撤销.在vi中按u ...

  4. linux 命令——44 top (转)

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是 一个动态显示过程,即可以通过用户按键来不断刷 ...

  5. 【转】如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等   你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并 ...

  6. linux命令总结sed命令详解

    Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务.sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令.指定文件名,然后在屏幕上查 ...

  7. vim 单文件中查找方法

    1.vim 单文件中查找方法 正常模式下使用 / 或 ? 命令执行向后搜索或向前搜索 /love   从光标位置向前搜索关键词 love ?love   从光标位置向后搜索关键词 love 正常模式下 ...

  8. 批量去掉文件中的^M

    "^M"在Linux下的输入方法 ctrl v + ctrl m 方案一: find -type f | xargs sed -i 's/^M//g' 或者 find -name ...

  9. Linux命令之sync - 强制将内存中的文件缓冲内容写到磁盘

    转:http://www.linuxso.com/command/sync.html sync命令 linux同步数据命令 格式: sync 用途:更新 i-node 表,并将缓冲文件写到硬盘中. 功 ...

随机推荐

  1. java动态代理技术

    主要用来做方法的增强.让你能够在不改动源代码的情况下,增强一些方法,在方法运行前后做不论什么你想做的事情(甚至根本不去运行这种方法).由于在InvocationHandler的invoke方法中,你能 ...

  2. 通过Intent传递对象

    BluetoothDevice device = data.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 在蓝牙开发中,通过intent(data ...

  3. android布局layout中的一些属性

      1.可以使某些资源文件或UI组件可重用 <include layout="@layout/other"/>  2.定义一个文本编辑框,使用绝对定位 android: ...

  4. Rot13加密算法

    Rot13是一种非常简单的替换加密算法,只能加密26个英语字母.方法是:把每个字母用其后第13个字母代替. 因为有26个字母,取其一半13. s = "xrlvf23xfqwsxsqf&qu ...

  5. Quick Touch – 在 iOS 设备运行的 “Touch Bar”

    关于 Quick Touch & Touch Bar Touch Bar 其实就是在原来 MBP 的按键区顶部新增了一个长条形的OLED触控屏,提供一些常用的快捷键.(iMessage 选表情 ...

  6. 模仿QQ 之弹出菜单

    #pragma once //演示QQ2009 #define WINDOW_WIDTH 250 //窗口宽度 #define WINDOW_HEIGHT 600 //窗口高度 struct xc_i ...

  7. 【Visual Studio】如何在VS 2012中打印变量值到输出窗口

    1.在调试程序时,想要输出某个变量的值到vs的输出窗口,而不是通过添加断点,每次调试时,一步一步的看变量的值,很麻烦,用console.writeline(str);是不行的,这个命令只能用在控制台应 ...

  8. 【Spring】SpringMVC之异常处理

    java中的异常分为两类,一种是运行时异常,一种是非运行时异常.在JavaSE中,运行时异常都是通过try{}catch{}捕获的,这种只能捕获显示的异常,通常项目上抛出的异常都是不可预见.那么我们能 ...

  9. 【struts2】预定义拦截器

    1)预定义拦截器 Struts2有默认的拦截器配置,也就是说,虽然我们没有主动去配置任何关于拦截器的东西,但是Struts2会使用默认引用的拦截器.由于Struts2的默认拦截器声明和引用都在这个St ...

  10. 一个酷绚的linux 桌面程序 GLX-DOCK (cario-dock)

    记录一个酷绚的linux  桌面程序  GLX-DOCK (cario-dock),支持多种风格的桌面主题. http://glx-dock.org/ 优势: 多个workspaces 方便自由切换 ...