我已经从Linux上的svn下载了一些软件的源代码,并想构建它:
$ ./configure
bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
字符^M是\r回车字符。当我将文件的行尾改为Linux格式时,它就开始工作了,但是有很多这样的文件,手动很难做到。如何将目录及其子目录中所有文件的行尾改为Linux格式?
我正在对install4j进行评估,以便为Linux (rpm)和Windows (exe)平台创建我的Java app安装程序。在安装接近尾声时,我希望修改一个文本文件的内容。
使用install4j for Linux media,它允许一个'post-install‘脚本,在这个脚本中,我可以定义一个bash shell脚本来修改文本文件。
但是,使用install4j for Windows media时,没有任何‘安装后’脚本可以定义批处理脚本。
有没有人有使用install4j for Windows media的经验?
我的文件包含以下几行
File.txt
Unix is good
Linux and unix is different?
Linux is also good, then what about unix?
这里我要输出
(1st line blank)
Linix and
Linux is also good, then what about
在这里vi命令或任何其他命令都会给出这个输出?搜索特定的单词,如果这是对的话,然后删除那个词,然后删除该行中的所有单词。
众所周知,DOS/Windows文件中的行尾与Unix/Linux中的行尾不同,所以每当我打开使用Windows创建的文件时,我都会看到每行后面都有成百上千个^M。许多人建议使用以下方法来解决此问题:
set fileformat=dos
我尝试过这个方法,但它不起作用,因为据我所知,它告诉Vim如何“保存”文件,而不是如何“读取”文件。我想要的是保持行尾的原样,无论是Linux、Windows还是MAC,正确地读取它们,并在编辑后使用相同的格式保存文件。
有什么想法吗?
我现在有一个名为computers.txt的文件
ST 314,Fox,PC,Unix
圣13,纽曼,麦克
ST 212,Frank,Linux,PC
BP 311,Jones,PC
ST 404,Walden,PC,Linux
ST 303,Noblitt,PC
ST 102,Christensen,Mac
ST 301,Ward,PC
SB 444,Smith,Mac
ST 202,Kirby,Mac,PC
ST 361,实验室,Linux
ST 333,Hu,Unix,PC
如果成员名以字母F,G,H,I,J或K开头,我需要用regex显示这一行,有帮助吗?
假设我有一个以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