我已经从Linux上的svn下载了一些软件的源代码,并想构建它:
$ ./configure
bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
字符^M是\r回车字符。当我将文件的行尾改为Linux格式时,它就开始工作了,但是有很多这样的文件,手动很难做到。如何将目录及其子目录中所有文件的行尾改为Linux格式?
我在Windows机器上启动了一个git存储库,然后切换到了Linux机器。一切正常,但每次提交时,我都会收到警告warning: CRLF will be replaced by LF in [file]。我知道我可以将自动转换设置为关闭,但是,有没有一个命令可以将所有的行尾转换成Linux的形式?我将不再在Windows中使用此项目。提前谢谢。
假设我有一个以Unix格式创建的文件。现在,在将该文件发送到窗口之前,必须完成EOL转换。
我需要在bash中这样做,这就是我到目前为止所拥有的:
为了简单起见,假设我的文件名为file_linux.txt,它提供以下输出:
cat -A file_linux.txt
first line$
second line$
third line$
file file_linux.txt
file_linux.txt: ASCII text
因此,似乎我只需要在$符号之前添加回车(^M或\r)。
我的想法是使用sed将$替换为\r$,方法如下:
sed 's/$/\r$/g' fil
因为似乎没有DOS (6.22到WinME " DOS ")或FreeDOS版本允许你从文本文件中提取部分并将其设置为变量,我将继续收集我在DOS模式下获得的数据到一个非常大的文件中,但我想不出一个方法来获得每个asset和UUID,并将它们添加到第三个文件中……下面是我目前得到的信息:
SMBIOS.TXT
~~~~~~~(usually 27 lines of stuff I don't need)~~~~~~~
Asset Number: ABC12345
~~~~~~~(usually 37 lines of stuff I don't need)~~~
我试图区分Linux/Unix行结束字符\n和\r\n行的Windows。我似乎找不到一个独特的正则字符串来区分这两种情况。我的代码是
import regex
winpattern = regex.compile("[(?m)[\r][\n]$",regex.DEBUG|regex.MULTILINE)
linuxpattern = regex.compile("^*.[^\r][\n]$", regex.DEBUG)
for i, line in enumerate(open('file8.py')):
for match i
我正在尝试理解一些游戏的dosbox.conf文件,我想在linux上玩,我在autoexec部分中注意到,有些行的前缀不是“@”,就是没有,我不知道这个前缀是用来做什么的。
两个例子:游戏1
[autoexec]
cd ..
@cd ..
@mount c .\games\
imgmount d .\games\baris\cd\BARIS.cue -t cdrom
@c:
cls
@cd baris
@call buzz
exit
游戏2
[autoexec]
cd ..
cd ..
mount c .\games\WackyWhe
imgmount d .\gam
这是我在linux中的shell命令行:
.../loadUI-cmd.sh -J-Djava.awt.headless=true -p /.../loadui_basicPTproject.xml -r /.../PT_reports -F PDF
这是输出(error):
: command not found/SmartBear/LoadUI-2.6.8/loadUI-cmd.sh: line 10:
: command not found/SmartBear/LoadUI-2.6.8/loadUI-cmd.sh: line 12:
: command not found/SmartBe
linux的新手,在通过VirtualBox运行Ubuntu的VM上练习bash。有一个命令在文本文件中打印每一行的第一个字符,从而产生正确的输出:
cut -f 1- -d "^M" sample.txt | cut -c 1
但是,当我从终端复制命令并使用Ctrl+Shift+c和Crtl+Shift+v粘贴回终端并执行时,它会给出以下错误:
cut: the delimiter must be a single character
编辑:我通过持有Ctrl+v并按下回车键输入"^M“
编辑:没有意识到剪切命令在每一行上运行,所以命令的第一部分给出的例子是无用的,即
众所周知,DOS/Windows文件中的行尾与Unix/Linux中的行尾不同,所以每当我打开使用Windows创建的文件时,我都会看到每行后面都有成百上千个^M。许多人建议使用以下方法来解决此问题:
set fileformat=dos
我尝试过这个方法,但它不起作用,因为据我所知,它告诉Vim如何“保存”文件,而不是如何“读取”文件。我想要的是保持行尾的原样,无论是Linux、Windows还是MAC,正确地读取它们,并在编辑后使用相同的格式保存文件。
有什么想法吗?