首页 > 系统相关 >Linux下处理^M字符

Linux下处理^M字符

时间:2024-05-21 18:30:46浏览次数:15  
标签:字符 文件 处理 disk1 路径 拉取 Linux data

1. 异常情况说明:

在linux 下,使用 rsync 拉取远程服务器的代码,拉取的sh文件如下:

sudo rsync -avzP --exclude=*.pyc  --password-file=/etc/rsync.password [email protected]::backup  /data/disk1

正常拉取后,文件会在 /data/disk1 这个路径下
但是拉取后,文件会在 /data/disk1? 这个路径下,也就是在目标路径下增加了 ?。

而当我们要使用python 的os库查看该路径 /data/disk1?时,会报错表示没有该路径。

当在 /data/ 路径下, 输入 dis 并按table 键 补全路径时,会提示 存在 disk^M 路径。

2. 原因说明

Linux下处理M字符,很多时候windows环境中编辑过的文件,在Linux下经常会出现M字符,可以通过以下方式处理该字符。

3. 解决方法

3.1 方法一:vim命令打开文件,然后在vim命令模式下输入以下内容:

3.1.1 去掉行尾的^M。

:%s/^M$//g

3.1.2 去掉所有的^M。

:%s/^M//g
特别注意:注意^M符号的输入方法,不可以直接复制!!!先按住CTRL,再按下v和m。

3.2 方法二: 使用sed命令。和vi的用法相似:

使用sed命令。和vi的用法相似:

sed -e 's/^M//g' filename
特别注意:注意^M符号的输入方法,不可以直接复制!!!先按住CTRL,再按下v和m。

3.3 方法三:使用dos2unix命令。将Windows格式文件转换为Unix、Linux格式的实用命令。

dos2unix [OPTION] filename
选项说明

-k  #输出文件的日期不变
-q  #安静模式
-V  #查看版本
-c  #转换模式,模式有:ASCII, 7bit, ISO, Mac, 默认是:ASCII。
-o  #写入到源文件
-n  #写入到新文件

如果没有此命令需要配置好yum源头再安装

yum -y install dos2unix
yum -y install unix2dos

标签:字符,文件,处理,disk1,路径,拉取,Linux,data
From: https://www.cnblogs.com/hengdin/p/18204723

相关文章

  • 关于attention中对padding的处理:mask
    先问了下chatgpt:我正在学习torch.nn.multiheadattention,请告诉我att_mask和key_padding_mask这两个参数有什么不同,分别用于处理什么问题,以及输出有什么不同,并给出代码示例chatgpt的回答:torch.nn.MultiheadAttention中的attn_mask和key_padding_mask是两个非常重要的参数,......
  • Mybaits使用SQL拦截器实现字符串修剪
    概述一般情况下,保存到数据库中的字符串类型的数据,我们一般都不希望它前后带着空格,类似于"哈哈哈"。在业务中,如果每一个保存到数据库中的SQL都去对字符串参数进行trim的操作,这是很繁琐的,且容易漏掉。解决方案使用Mybatis的拦截器,拦截每一个SQL,针对SQL中的字符串参数进行tr......
  • Linux下Uart子系统驱动
    1引入UART工作原理uart硬件传输原理。s3c2440裸机编程-UART体系。2Linux下TTY驱动框架可以看到tty框架下不止包含uart,还有display设备,键盘设备。详细展开如下,tty_driver位于tty_io.c,调用底下的uart_diver位于serial_core.c。uart_driver子系统会被最底层的soc厂商拿去适......
  • 通过Ubuntu虚拟机+Linux移植LVGL并通过linux Frame buffer显示
    文章参考:https://gitee.com/socbis/linux-lvgllvglonlinuxFramebuffer主机环境:Ubuntu18.04lvgl8.0.1获取源码并运行demo获取源码需要3样东西来构建demo:lvgl核心控件库:从此处获取源码lvgl,选择版本Releasev8.0.1.显示和触摸接口层:关联图形库与硬件,源......
  • Chardet: 通用字符编码检测器
    Chardet:通用字符编码检测器构建状态图片PyPI上的最新版本许可证检测ASCII、UTF-8、UTF-16(2个变体)、UTF-32(4个变体)Big5、GB2312、EUC-TW、HZ-GB-2312、ISO-2022-CN(繁体和简体中文)EUC-JP、SHIFT_JIS、CP932、ISO-2022-JP(日语)EUC-KR、ISO-2022-KR、Johab(韩语)KOI8-R、MacCy......
  • jmeter分布式压测(Linux版本)
    1、安装JDK并配置环境变量(此处不再赘述)2、将Jmeter上传到任意目录解压(此处不再赘述)3、配置环境变量vi/etc/profile将光标移动到最底部,插入下面的内容,exportJMETER_HOME=/home/apache-jmeter-5.1.1  #jmeter的安装目录exportCLASSPATH=$JMETER_HOME/lib/ext/ApacheJMet......
  • JavaWeb分布式事务处理
    哈喽,大家好,我是木头左!一、分布式事务的概念与特性在开始之前,首先需要理解什么是分布式事务以及其特性。将从最基础的定义和特性开始,逐步深入到其在实际应用中的表现和影响。1.1分布式事务的概念分布式事务是指跨越多个独立的计算机资源(如数据库、应用服务器等)的一组事务的......
  • Linux如何给自己发邮件?
    该功能在一些定时任务报警中经常会使用到,比较实用,类似的还有发送微信消息等方式,通知给运维人员一些信息。本文以centos7.6为例1、安装mail软件CentOS/RHEL系统yum-yinstallmailxDebian/Ubuntu系统:aptinstallmailutils2、配置mail文件将以下内容添加在配置文件最下端set......
  • linux实现namespace间通信
    一目的linux实现两个namespace间通信 二操作1.逻辑①创建两个namespace②创建一对网络接口③给每个namespace分配网络接口④每个namespace设置ip,激活网卡⑤测试两个namespace能否通信  三资料Networknamespace是linux内核提供的用于实现网络虚拟化的重要......
  • windows cmd拉取linux文件夹下的文件,并解压
    前言:nginx静态文件从linux文件夹下拉取,然后放到windows下,并且解压 需要安装putty,用pscp命令del-pull.bat文件,负责删除本地文件夹下所有文件,并且拉取数据@echooffsetlocalsetFOLDER_PATH=C:\Users\admin\Desktop\yaya_nginx\web\echoDeletingfilesinfolder...rm......