vi 打开文件,行末尾有^M

 

原因:

  Windows下的文本文件的每一行结尾,都有一个回车符('\n')和一个换行符('\r')

  Linux下的文本文件的每一行结尾,只有一个回车符('\n')

  Mac下的文本文件的每一行结尾,只有一个一个换行符('\r')

  所以在 Linux 下打开Windows 编辑过的文件,就会在行末尾显示^M

  这个 ^M 在 Linux vi 下 是 ctrl + v  ctrl + m

 

解决方法:

  

  字符串替换

  vi 命令行输入 : %s/^M//g

  回车即可替换 。

  % 指匹配整个文件,s 是置换的意思,^M 注意用 ctrl + v  ctrl + m 来输入,$ 表示匹配行尾的内容,g 表示每行中匹配到的内容都要置换。

  

效果:

  

 

方法二:

  :set fileformat=unix
  :w

转载于:https://www.cnblogs.com/SZxiaochun/p/7428079.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是我的回答: 1) 创建一个10M大的数据文件mydata,文件以0初始化,使用split将文件分隔为1M大小的10个小文件,小文件前缀为subdata,将10个小文件打包并使用bzip2压缩为文件mydata.tbz: ``` # 创建10M大小的数据文件 dd if=/dev/zero of=mydata bs=1M count=10 # 使用split将文件分隔为1M大小的10个小文件 split -b 1M -d mydata subdata # 将10个小文件打包并使用bzip2压缩为文件mydata.tbz tar -cvjf mydata.tbz subdata* ``` 2) 使用export命令修改环境变量$PATH,增加新的路径./,使用系统可以在当前目录下查找命令。 ``` export PATH=$PATH:./ ``` 3) 使用sort对rand.txt中的数字按数值大小进排序并使用uniq统计千数字出现的次数,将输出重定向到文件rand.count。 ``` sort -n rand.txt | uniq -c > rand.count ``` 4) 使用grep命令搜索文件lines.txt中以“99”结尾的然后使用tr将结果中的空格转换为水平制表符(即\t)并将输出重定向lines99.txt。 ``` grep '99$' lines.txt | tr ' ' '\t' > lines99.txt ``` 5) 使用vi打开文件lines.txt,替换文件中900到999的数学为四位数字(如900变为0900)。剪切3001到4000到文件末尾,在文件末尾添加“Tined of so many lines.”将文件保存lines.bak。 ``` # 打开文件并进入命令模式 vi lines.txt # 进入900到999替换 :900,999s/\d\{3\}/&0/g # 剪切3001到4000到文件末尾 :3001,4000t$ # 在文件末尾添加“Tined of so many lines.” :$a Tined of so many lines. # 保存文件并退出 :wq lines.bak ``` 6) 创建用户mylinuxuser和用户组mylinuxusers,指定mylinuxuser的用户密码为88888888,shell为tcsh,将用户mylinuxuser加入到组mylinuxusers组,将指定其为组管理员。使用umask指定默认权限为rwxr--,然后创建子目录mydirl,指定其所有者为mylinuxuser:mylinuxusers,权限为所有者和所有者组可读写执,其它用户可读可执但不可写,设置其mtime为2000-1-1 1:1:1。 ``` # 创建用户mylinuxuser和用户组mylinuxusers sudo adduser mylinuxuser sudo groupadd mylinuxusers # 指定mylinuxuser的用户密码为88888888,shell为tcsh sudo passwd mylinuxuser sudo chsh -s /bin/tcsh mylinuxuser # 将用户mylinuxuser加入到组mylinuxusers组,将指定其为组管理员 sudo usermod -a -G mylinuxusers mylinuxuser sudo usermod -a -G sudo mylinuxuser # 使用umask指定默认权限为rwxr-- umask 0027 # 创建子目录mydirl,指定其所有者为mylinuxuser:mylinuxusers,权限为所有者和所有者组可读写执,其它用户可读可执但不可写,设置其mtime为2000-1-1 1:1:1 mkdir mydirl sudo chown mylinuxuser:mylinuxusers mydirl sudo chmod 750 mydirl touch -t 200001010101 mydirl ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值