Questions tagged «newlines»

4
如何在源代码中的read -p提示符下将长字符串分成多行?
我正在编写将以方式运行的安装脚本/bin/sh。 有一行提示输入文件: read -p "goat can try change directory if cd fails to do so. Would you like to add this feature? [Y|n] " REPLY 我想把这条长行分成多行,以使它们都不超过80个字符。我说的是脚本源代码中的几行;与执行脚本时要在屏幕上实际打印的行无关! 我尝试过的 第一手方法: read -p "goat can try change directory if cd fails to do so. " \ "Would you like to add this feature? …

8
在大文件中替换包含换行符的字符串
有谁知道基于非行的工具以某种内存有效的方式“二进制”搜索/替换字符串?也看到这个问题。 我有一个+ 2GB的文本文件,我想对其进行处理,类似于此操作: sed -e 's/>\n/>/g' 这意味着,我想删除a之后出现的所有换行符>,但不能在其他地方删除,以便排除tr -d。 此命令(我从类似问题的答案中得到)失败,并带有couldn't re-allocate memory: sed --unbuffered ':a;N;$!ba;s/>\n/>/g' 那么,还有其他方法不求助于C吗?我讨厌perl,但愿意在这种情况下例外:-) 我不确定数据中是否会出现任何字符,因此\n,如果可能的话,我想避免用另一个字符临时替换。 有什么好主意吗?

4
如何使用sed检测行尾
我正在寻找一种仅在最后一个字符为换行符时执行替换的方法sed。 例如: lettersAtEndOfLine 被替换,但这不是: lettersWithCharacterAfter& 由于sed不适用于换行符,因此它不如简单 $ sed -E "s/[a-zA-Z]*\n/replace/" file.txt 如何做到这一点?


7
为什么会出现“第1行:$':\ r':命令未找到”?
我在笔记本电脑(DOS)上使用了Cygwin。我从同事和我的同事那里收集了一些脚本。我不是IT人员,也不了解Unix。我遵循同事的语法,能够处理一些简单的事情。 这些脚本在我的旧笔记本电脑上运行良好。我刚换了笔记本电脑,安装了Cygwin。当我运行脚本时,它们不起作用。这是我收到的错误消息的一个示例: line 1: $':\r': command not found line 5: syntax error near unexpected token `$'\r'' line 5: `fi 这是我脚本的前5行 : iter=1 if [ -f iter.txt ] then rm ./iter.txt fi 有人可以解释一下如何解决这个问题吗?

5
sed无法删除换行符
我已经使用sed了一段时间了,但是这是我遇到的一个怪癖,我无法解决。 让我用实际情况解释我的问题。 场景#1 printf "ls" | xclip -selection clipboard echo "ls" | xclip -selection clipboard 在第一个命令中,我将printf输出传递到,xclip以便将其复制到剪贴板。现在,printf不同于echo默认情况下不会在末尾插入新行。因此,如果我将此内容粘贴到终端中,ls则复制的命令不会自动运行。 在第二行中,末尾有一个新行,因此粘贴剪贴板内容也会导致命令在剪贴板中运行。 这对我来说是不可取的。因此,我想使用来删除换行符sed,但失败了,如下图所示。 场景#2 echo "ls" | sed -r 's/\n//g' | xclip -selection clipboard 剪贴板中的内容仍然包含换行符。当我将其粘贴到终端时,该命令将自动运行。 我还尝试删除回车符\r。但是娜达 似乎我在这里错过了非常关键/基本的东西。
12 sed  newlines 


1
没有这样的文件或目录,但我可以看到它!
我正在尝试使用winSCP在无头的Raspberry PI上运行python脚本,并得到以下错误消息: Command '"./areadetect_movie_21.py"' failed with return code 127 and error message /usr/bin/env: python : No such file or directory. 当我尝试从终端运行时,我得到: : No such file or directory. 我尝试在相同的目录中使用相同的python shebang,相同的权限并使用相同的用户pi使用类似的python脚本,并且可以正常工作。 我也这样做了,ls并且可以看到该文件,所以我不知道为什么它将无法运行。


3
BASH和回车行为
我有一个简单的问题。 bash(我使用的是4.4.11)显示的行/文本以纯文本分隔/结尾是否正常\r? 我对这种行为感到有些惊讶: $ a=$(printf "hello\ragain\rgeorge\r\n") $ echo "$a" george 但是“ hello again”文本仍然存在,以某种方式“隐藏”: $ echo "$a" |od -w32 -t x1c 0000000 68 65 6c 6c 6f 0d 61 67 61 69 6e 0d 67 65 6f 72 67 65 0d 0a h e l l o \r a g a …

4
用`mv`将换行符添加到文件名中
这是一个严重的问题。我测试了一些awk脚本,并且我需要名称中带有换行符的文件。 是否可以使用来在文件名中添加换行符mv? 我现在可以用touch: touch "foo bar" 通过触摸,我为每个副本和粘贴添加了换行符。但是我不能fooReturnbar在shell中写。 如何重命名文件以在文件名中包含换行符? 编辑2015/06/28; 下午07:08 要添加换行符,zsh我可以使用Alt+Return

2
如何在文件中搜索文本而忽略换行符?
我想搜索文件中可能分成几行的文本。一个grep,它将忽略换行符并返回匹配的行距。 例如,我将搜索is an example file,并希望在以下文件中找到它: 这是 一个 示例文件。 不要依赖前导或尾随空格,最好完全忽略所有形式的空格(最好将空格的任何序列都视为一个空格)。 一种非理想的解决方案是tr '\n' ' ' | grep,它区分匹配和不匹配,但不显示匹配项,也不能很好地处理大文件。

7
如何用新行替换单词
我有一个包含以下数据的文本文件,每行以结尾|END|。 T|somthing|something|END|T|something2|something2|END| 我tryig更换|END|与\n新行的sed。 sed 's/\|END\|/\n/g' test.txt 但这会产生错误的输出,如下所示: T | s o m e ... 但是我想要的是: T|somthing|something T|something2|something2 我也尝试过tr。它也不起作用。

4
替换包含换行符的字符串
使用bash外壳程序,在具有以下行的文件中 first "line" <second>line and so on 我想更换的一次或多次出现"line"\n<second>用other characters,并获得每一次: first other characters line and so on 因此,我必须用特殊字符(例如"和)<和换行符来替换字符串。 在其他答案之间进行搜索之后,我发现该命令sed可以在命令的右侧(因此other characters字符串)接受换行符,但不能接受左侧的换行符。 有没有一种方法(比this更简单)使用sed或获得此结果grep?

6
如何删除bash中的尾随换行符?
我正在寻找行为类似于Perl的产品chomp。我正在寻找一个仅打印其输入的命令,如果它是换行符,则减去最后一个字符: $ printf "one\ntwo\n" | COMMAND_IM_LOOKING_FOR ; echo " done" one two done $ printf "one\ntwo" | COMMAND_IM_LOOKING_FOR ; echo " done" one two done (Bash和Zsh中的命令替换会删除所有尾随的新行,但是我正在寻找一种最多删除一个尾随的新行的东西。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.