Vscode DOS和UNIX脚本文件之间相互转换的多种方法
来源:互联网 发布:c++ gui qt 4编程 编辑:程序博客网 时间:2024/05/17 08:50
DOS和UNIX脚本文件之间的转换
- DOS和UNIX脚本文件之间的转换
- vscode
- dos2unix
- perl
- vim
- awk
- sed
- tr
在windows上编写的shell、python等脚本在Linux上无法正常的执行,会有如下提示:
- shell: bash: ./print.sh: /bin/bash^M: bad interpreter: No such file or directory
- python: : No such file or directory
在Linux上使用vim打开文件,显示很多的^M字符,主要是因为在Windows下换行使用CRLF两个字符来表示,其中CR为回车(ASCII=0x0D),LF为换行(ASCII=0x0A),而在Linux下使用LF一个字符来表示。在Linux下使用vim来查看一些Windows下创建的脚本文件时,会发现在每一行尾部有^M字符,其实它是显示CR回车字符。
在Unix/Linux下可以使用file命令查看文件类型(file print.sh),如下:
- print.sh: Bourne-Again shell script, ASCII text executable, with CRLF line terminators
vscode
在文件编辑窗口,点击右下角的CRLF(选择行尾序列),然后选择LF保存文件。
打开行尾序列修改选项
选择LF后保存文件
dos2unix
- 安装
yum install dos2unix 或 sudo apt-get install dos2unix - 使用
- DOS转UNIX
dos2unix print.sh
- UNIX转DOS
unix2dos print.sh
- DOS转UNIX
perl
Perl是相当直接,你添加或删除掉文件每行结尾的CR字符。
- DOS转UNIX
perl -p -e 's/\r$//' print.sh > print_unix.sh
- UNIX转DOS
perl -p -e 's/\n$/\r\n/' print_unix.sh > print.sh
vim
vim print.sh
DOS转UNIX
:setfileformat=unix
或:set ff=unix
UNIX转DOS
:setfileformat=dos
或:set ff=dos
- 保存
:wq
awk
- DOS转UNIX
awk '{sub("\r$", "", $0);print $0}' print.sh > print_unix.sh
- UNIX转DOS
awk '{sub("$", "\r", $0);print $0}' print_unix.sh > print.sh
sed
- DOS转UNIX
sed -i 's/.$//g' print.sh
- UNIX转DOS
sed -i 's/$/\r/g' print.sh
tr
- DOS转UNIX
tr -d '\r' < print.sh > print_unix.sh
阅读全文
0 0
- Vscode DOS和UNIX脚本文件之间相互转换的多种方法
- DOS和UNIX文本文件之间相互转换的方法
- Windows/DOS与Unix文件格式之间的相互转换
- dos文件和unix文件的转换
- 在Linux中DOS格式的文件和unix格式文件的相互转换
- python的datetime和unix时间戳之间相互转换
- Windows/DOS与Unix文件格式之间的相互转换(/r/n问题)
- Windows/DOS与Unix文件格式之间的相互转换(/r/n问题)
- Unix和Windows文件之间的转换
- [java]关于数组和List之间相互转换的方法
- 关于数组和List之间相互转换的方法
- 关于数组和List之间相互转换的方法
- [java]关于数组和List之间相互转换的方法
- 数组和List之间相互转换的方法
- 关于数组和List之间相互转换的方法
- 关于数组和List之间相互转换的方法
- wstring 和 string 之间的相互转换方法
- 数组和List 之间相互转换的方法
- Android直播
- “玲珑杯”线上赛 Round #15 河南专场:G -- 咸鱼拷问
- 用vs2010打开版本较高vs的sln
- NAMENODE工作机制,元数据管理(元数据存储机制、元数据手动查看)、元数据的checkpoint、元数据目录说明(来自学习资料)
- HDU4571-区间DP,记忆化搜索,递推
- Vscode DOS和UNIX脚本文件之间相互转换的多种方法
- 第1周-Python基础
- 陈纪修老师《数学分析》 第05章:微分中值定理及其应用 笔记
- AS报错:Installation failed with message Failed to establish session
- 无限轮播之网络图片
- ffmpeg用到的命令
- 使用caffe时如何生成和使用日志(log)文件
- IDEA Junit4配置
- bzoj 1069 最大土地面积