我想将一个 bash 数组变量写到一个文件中,每个元素都在一个新行上。我可以用 for 循环来做到这一点,但是还有另一种(更干净的)方法来连接元素\n吗?
我最近从 Linux 回到了 Windows。我有一些带有 CRLF 的文件,一些带有 LF,一些是混合的。有没有一个实用程序可以帮助我找到我所有的 Unix-touched 文件并将它们转换为正确的 CRLF 终止文件?
该实用程序必须在 Windows 上运行,而不是在 Linux 上运行。我已经搬走了。如果可以避免的话,我宁愿不安装Cygwin。
如何在 vi/vim 中显示换行符和/或回车符?
我知道这set list显示了所有的空白字符 (?),它还替换了制表符 \t 等(但这不是我想要的)。基本上我只想显示某些字符,如 \r (在 Debian 上这似乎是默认值,但是在 Gentoo 上它是不同的)。
亲切的问候
不久前我切换到 Lion,只是注意到当我在 TextEdit 中保存文本文件时,它使用 LF 作为换行符。我在我的 Lion 计算机上环顾四周,找不到任何文件使用 CR 换行的证据,尽管我记得 Mac 总是使用 CR,尽管 Unix 使用 LF,Windows 使用 CR+LF。当我得知 OS X 基于 Unix 时,我什至检查了我的 Snow Leopard,对它仍然使用 CR 感到失望。
那么 Lion 是否转而使用 LF?
最奇怪的是,我在网上搜索了很多,没有找到任何关于 Lion 使用 LF 的证据。
我正在尝试在 上执行命令cmd.exe,将换行符或换行符作为命令的一部分,如下所示:
command -option:text
whatever
Run Code Online (Sandbox Code Playgroud)
但是每个新行都会执行命令,而不是在下一行继续执行命令。
那么如何在 cmd.exe 中输入换行符,或者创建多行命令呢?
使用 Microsoft Word 2007,是否可以\n用其他字符替换换行符 ( )?
反过来呢?(即用换行符替换一个字符)。
我认为\n将针向下\r移动,并将针移动到行首(左对齐)?不过,我不确定。所以,如果我错了,请纠正我......
无论如何,我被告知,Windows和Linux手柄newlines和carriage returns不同。我想知道他们如何以不同的方式处理它们,以及需要记住的重要地方。谢谢回答。
如果我打开 Vim 并输入,itest<Esc>:wq那么我会得到一个在 Vim 中没有换行符但在代码中似乎有一个换行符的文件:
$ vim -u NONE test.txt
$ cat test.txt | hd
00000000 74 65 73 74 0a |test.|
00000005
Run Code Online (Sandbox Code Playgroud)
如果我打开 Vim 并输入,itest<Return><Esc>:wq那么我会得到一个在 Vim中有一个换行符但在代码中有两个换行符的文件:
$ rm test.txt
$ vim -u NONE test.txt
$ cat test.txt | hd
00000000 74 65 73 74 0a 0a |test..|
00000006
Run Code Online (Sandbox Code Playgroud)
请注意,我正在打开 Vim,-u NONE因此没有使用本地配置。另请注意,这可能与我之前的一个问题有关。
这是我的系统信息:
$ uname -a
Linux awsAlpha 3.2.0-60-virtual #91-Ubuntu SMP Wed Feb 19 04:13:28 UTC 2014 x86_64 …Run Code Online (Sandbox Code Playgroud) 我非常喜欢 Visual Studio 中的“查找和替换”功能。该功能可让我替换短语、单词、符号或您可以在屏幕上的文本框中键入的任何内容。
我怎样才能让它用换行符替换一个字符?
ls(不带参数)的输出似乎用换行符分隔文件名。
证据:
ls | grep foo按预期工作,grep将每个文件名视为单独的输入行。
ls > files.txt; vim files.txt --> 在 Vim 中,每个文件都在单独的一行
然而在终端中,输出ls将多个文件放在一行上,用空格分隔文件名以形成很好对齐的列:
$ ls
a.txt b.txt c.txt
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,ls 如何做到这一点?
是否使用一些特殊的控制字符来“伪造”换行符?或者它是否知道它的输出何时通过管道传输到另一个命令,并在这种情况下以不同的方式格式化输出?