相关疑难解决方法(0)

Shell one liner要预先添加到文件中

这可能是一个复杂的解决方案.

我正在寻找像">>"这样的简单运算符,但是需要预先添加.

我担心它不存在.我必须做点什么

 mv myfile tmp
 cat myheader tmp > myfile

还有什么更聪明的吗?

unix shell

130
推荐指数
13
解决办法
6万
查看次数

如何在使用sed的行之后插入换行符/换行符

我花了一段时间来弄清楚如何做到这一点,所以发布以防其他人正在寻找相同的.

bash shell zsh sed

28
推荐指数
3
解决办法
6万
查看次数

哪些字符可以用作正则表达式分隔符?

哪些字符可以用作Perl正则表达式的分隔符?m/re/,m(re)并且måreå似乎都工作,但我想知道所有的可能性.

regex unicode perl

18
推荐指数
4
解决办法
1万
查看次数

没有给我正确的替代操作与Mac换行 - GNU sed和BSD/OSX sed之间的差异

我正在使用这个参考:sed help:匹配和替换文字"\n"(不是换行符)

我有一个文件"test1.txt",其中包含一个字符串hello \ngoodbye

我使用此命令搜索并用实际的换行符替换"\n":

sed -i '' 's/\\n/\n/g' test1.txt
Run Code Online (Sandbox Code Playgroud)

但结果是:hellongoodbye.它只是将"\n"替换为"n"而不是实际的新行.这与/ t相同,它将留下"t"而不是选项卡.

''是针对MAC中未定义的错误:http://mpdaugherty.wordpress.com/2010/05/27/difference-with-sed-in-place-editing-on-mac-os-x-vs-linux /

更新:

我已经尝试了@ hek2mgl建议的两个命令:

sed -i 's/\\n/\n/g' test.txt
# Or:
sed -i'' 's/\\n/\n/g' test.txt
Run Code Online (Sandbox Code Playgroud)

虽然它们可能适用于Linux,但使用MAC OS时出现以下错误:

sed: 1: "test1.txt": undefined label 'est1.txt'
Run Code Online (Sandbox Code Playgroud)

不知道为什么我不能让这个工作.提前致谢.

macos bsd gnu sed

15
推荐指数
2
解决办法
2万
查看次数

标签 统计

sed ×2

shell ×2

bash ×1

bsd ×1

gnu ×1

macos ×1

perl ×1

regex ×1

unicode ×1

unix ×1

zsh ×1