linux./xxx.py :Command not found

从windows传入linux系统中的py文件,在运行时出现了如标题所示的错误
第一行#!/bin/python3 但是却无法使用./xxx.py运行,通过一番调试,发现
windows的换行符与linux的换行符不一致导致了错误的发生
如何解决这个问题,使用dos2unix

dos2unix 是一个用于转换文本文件行结束格式的工具。在Windows系统中,行结束符是回车符和换行符的组合(CRLF),而在Unix/Linux系统中,行结束符是单一的换行符(LF)。dos2unix工具可以将Windows格式的文本文件转换为Unix格式。

基本用法

1. 转换单个文件

file.txt 从 DOS/Windows 格式转换为 Unix 格式:

dos2unix file.txt
2. 转换多个文件

可以一次性转换多个文件:

dos2unix file1.txt file2.txt file3.txt
3. 转换文件并保留原文件

使用-b选项,可以保留原始文件的备份。备份文件通常会添加.bak扩展名:

dos2unix -b file.txt
4. 指定输出文件

使用-c选项指定输出文件的编码,同时可以选择备份:

dos2unix -c iso file.txt output.txt

高级用法

5. 转换文件目录

转换整个目录内的所有文件:

dos2unix -r /path/to/directory
6. 强制转换二进制文件

默认情况下,dos2unix 会跳过二进制文件。如果你需要强制转换这些文件,可以使用-f选项:

dos2unix -f binaryfile.bin

可用选项

常见选项
  • -o--oldfile:将转换后的内容写回原文件(默认行为)。
  • -n--newfile:将转换后的内容写入一个新的文件。
  • -b--keep-bom:在 UTF-8 文件中保留 BOM(字节顺序标记)。
  • -s--safe:跳过多次转换相同文件。
  • -q--quiet:安静模式,不输出处理信息。
  • -r--recursive:递归处理目录中的所有文件。

实际示例

保存原始文件(生成备份)
dos2unix -b example.txt

这将把example.txt转换为Unix格式,并且生成一个备份文件example.txt.bak

转换一个目录内所有文件

假设你有一个包含多个文件的目录myfolder,需要将其中所有文件从DOS格式转换为Unix格式:

dos2unix -r myfolder/
将文件输出到新文件

假设你需要将转换后的文件保存为新文件newfile.txt

dos2unix -n example.txt newfile.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

花椒且喵酱

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

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

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

打赏作者

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

抵扣说明:

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

余额充值