Linux下文件与Windows下文件格式的区别与转换

Windows下的TXT文件上传到Linux系统上,用cut,grep.sed,awk等文本处理工具处理过后再次传到Windows电脑上,发现内容都连到一块了,解决办法:

注:这个其实是换行符被删除了。

so,问题来了,怎么处理就不会把换行符删除?

在Windows下编写的文件,当在Linux下用 cat -v filename 命令查看时,可以发现每行的结尾都有^M字符。当我们在Linux下写的应用程序在读取含有^M字符的文件时,会出现意想不到的错误。所以需要将Windows下文件的格式转换为Linux下的文件格式。

仍存在的疑惑:

在我的vi中打开含有^M的文件,设置 :set list 只能看到以“$”表示的换行符,并没有看到有^M字符。使用 :%/^M$//g 进行替换也没有找到。

去除^M的方法:

去除^M的方法很多,总结一些如下:

方法1:在vi中转换文件的格式,直接输入以下命令,然后 :wq。

:set fileformat=unix

:set fileformat=dos

方法2:使用col命令

cat file_win | col -b > file_linux

cat file_win | col -b | tee file_linux

方法3:使用tr命令

cat file_win | tr -d '/r' > file_linux

cat file_win | tr -d '/r' | tee file_linux

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Star星屹程序设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值