Linux Collection:文本编辑问题
PAS 删除文本中的^M标记
由于历史原因,不同操作系统使用不同的方式表示文件的换行符\n。现代计算机系统中的文件换行和早期的打字机有关,主要和两个控制符有关:line feed (LF) ,carriage return (CR)。
| 系统 | 换行符 | 
|---|---|
| Windows | CRLF | 
| Linux/macOS | LF | 
由于如果将Windows中的存放/编辑过的文件(假设编码解析正确)在Linux中打开(使用cat -v filename命令查看),可以发现文件末尾会有^M符号,这回导致脚本文件等无法正确执行。而Linux文件在Windows中打开,通常会显示成一行,没有换行。
去除文件末尾^M的集中常见方法:
- 方法1: dos2unix filename(dos2unix可能需要安装;部分系统可能不支持)
- 方法2:sed -i 's/^M//g filename'(使用sed命令进行替换)
- 方法3:vim打开文件,使用:%s/^M//g进行替换
- 方法4:cat filename | tr -d "\r" > newfile
说明:输入^M符号(这是一个符号),使用Ctrl+V, Ctrl+M进行输入。
linux下去掉文件中^M的方法, 2014-02-28
Linux Collection:文本编辑问题的更多相关文章
- Linux命令-文本编辑(二)
		Linux命令-文本编辑(二) Linux mtype命令 mtype为mtools工具指令,模拟MS-DOS的type指令,可显示MS-DOS文件的内容. 语法: mtype [-st][文件] 参 ... 
- Linux命令-文本编辑(一)
		Linux命令-文本编辑(一) Linux col命令 Linux col命令用于过滤控制字符. 在许多UNIX说明文件里,都有RLF控制字符.当我们运用shell特殊字符">&quo ... 
- Linux的文本编辑和文本内容查看命令
		Linux的文本编辑和文本内容查看命令 1.文本编辑命令 vi:用于编辑文本文件,基本上可以分为三种模式,分别是一般模式.编辑模式.命令行模式. 一般模式:当编辑一个文件时,刚进入文件就是一般模 ... 
- linux终端文本编辑神器vi的使用
		vi —— 终端中的编辑器 目标 vi 简介 打开和新建文件 三种工作模式 常用命令 分屏命令 常用命令速查图 01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简 ... 
- Linux Collection:系统信息和配置
		PAS Linux系统配置相关文件 /etc 目录中是系统和各类软件的配置文件 /var/log 系统日志 /proc 系统运行信息 PAS /boot空间不足 查看内核 dpkg --get-sel ... 
- Linux Collection:源和更新
		PAS 配置sources.list软件源 参考例子(Debian 9,文件/etc/apt/sources.list): deb https://mirrors.ustc.edu.cn/debian ... 
- Linux Collection:用户管理
		adduser 添加(新建)用户账户 $ sudo adduser username groups 添加组 $ groups username # 查看用户已有的组 $ groups username ... 
- Linux Collection:网络配置
		PAS 缺少ifconfig 安装相应软件[不推荐],尽量使用 ip 命令 sudo apt install gnome-nettool 补充,显示IP地址: ip show address PAS ... 
- Linux Collection:软件配置
		PAS Debian 9安装最新版Firefox( Firefox 58+/Quantum) Debian 9(Strech)的仓库包含的是firefox-esr(52)版本:需要安装最新版,有如下两 ... 
随机推荐
- 「造个轮子」——cicada(轻量级 WEB 框架)
			前言 俗话说 「不要重复造轮子」,关于是否有必要不再本次讨论范围. 创建这个项目的主要目的还是提升自己,看看和知名类开源项目的差距以及学习优秀的开源方式. 好了,现在着重来谈谈 cicada 这个项目 ... 
- 基于 Redis 的分布式锁
			前言 分布式锁在分布式应用中应用广泛,想要搞懂一个新事物首先得了解它的由来,这样才能更加的理解甚至可以举一反三. 首先谈到分布式锁自然也就联想到分布式应用. 在我们将应用拆分为分布式应用之前的单机系统 ... 
- WebSocket(5)---多人聊天系统
			多人聊天系统 功能说明:多人聊天系统,主要功能点: 1.当你登陆成功后,可以看到所有在线用户(实际开发可以通过redis实现,我这边仅仅用map集合) 2.实现群聊功能,我发送消息,大家都可以看到. ... 
- 【JVM虚拟机】(3)---垃圾回收器
			垃圾回收器 收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现.收集器主要分三类:串行收集器.并行收集器以及并发收集器. 一.基础概念 1.并发和并行 a:并行(Parallel):指多条垃 ... 
- 记Javascript一道题的理解
			代码如下: function Foo(){ getName = function(){ console.log("1"); } return this; } Foo.getName ... 
- 死磕NodeJs之REPL与For Server,我的艰辛的旅程(一)
			ode.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接 ... 
- Quartz.NET学习笔记(四) 计划任务触发器
			通常来说计划任务触发器会比简单触发器的使用频率高很多.如果你的任务是需要基于日历每天定时运行,那你就应该使用计划任务触发器,例如每周五中午12:00执行任务,或者每天早上9点执行任务. 计划任务表达式 ... 
- AndroidStudio运行java的main方法
			新建一个java文件,含有main方法 package com.why.project.androidcnblogsdemo.utils; /** * Created by HaiyuKing * U ... 
- python字符串格式化笔记
			我有个问题:我没有发现%f和%F的区别,希望大神们可以帮我解答下 格式化字符 说明 %c 转换成字符(ASCII 码值,或者长度为一的字符串) %r 用repr()函数进行字符串转化(调试的时候用这个 ... 
- Chapter 5 Blood Type——18
			"The Red Cross is having a blood drive in Port Angeles next weekend, so I thought you should al ... 
