Tag: sed

如何在文件的开头插入文本?

到目前为止,我已经能够find如何在文件的开头添加一行,但这不完全是我想要的。 我会用一个例子来展示它 文件内容 some text at the beginning 结果 <added text> some text at the beginning 这是相似的,但我不想创build任何新的线路… 如果可能,我想用sed来做。

从文本文件中删除unicode字符 – sed,其他bash / shell方法

如何从terminal上的一堆文本文件中删除unicode字符? 我试过这个,但它没有工作: sed 'g/\u'U+200E'//' -i *.txt 我需要从文本文件中删除这些unicode U+0091 – sort of weird "control" space U+0092 – same sort of weird "control" space A0 – non-space break U+200E – left to right mark

我如何使用sed来更改我的configuration文件,灵活的键和值?

我想search这个expression式的configuration文件:“central.database”。 然后我想将与“central.database”关联的设置更改为“SQLTEST”。 最初configuration文件的布局看起来像这样: central.database = SQLFIRSTTEST 这是我希望看起来像sed更换后: central.database = SQLTEST 我正在做一个bash脚本,欢迎任何build议,build议或替代解决scheme! (实际上central.database和SQLTEST都来自bashvariables) 我目前的代码(第三次尝试): sshRetValue=$(ssh -p "35903" -i $HOME/sshids/idrsa-1.old ${1} <<EOF sed -i "s/^\($CENTRAL_DB_NAME\s*=\s*\).*\$/\1$CENTRAL_DB_VALUE/" /home/testing.txt; echo $? EOF ) 错误信息: Pseudo-terminal will not be allocated because stdin is not a terminal. sed: -e expression #1, char 58: unknown option to `s' -bash: line 3: EOF: command […]

sedsearch并replace包含/ 的string

我很难找出如何使用sed来search和replace文本文件/etc/myconfig包含/字符的string。 例如,在我现有的文本文件中,我有: myparam /path/to/a argB=/path/to/B xo 我想把这个换成: myparam /path/to/c argB=/path/to/D xo 我试图在bash中这样做: line='myparam /path/to/a argB=/path/to/B xo' line_new='myparam /path/to/c argB=/path/to/D xo' sed -i 's/$line/$line_new/g' /etc/myconfig 但没有任何反应。 尝试 grep -rn "$line" /etc/myconfig 虽然返回我'myparam /path/to/a argB=/path/to/B xo' 。 什么是正确的方式来expression我的sed命令来执行这个search和replace和正确处理/命令? (我认为我的string中的/字符是给我的问题,因为我用一个类似的sed命令来search和replace文本文件中的另一行没有问题,该行没有/字符。

使用find和sedrecursion重命名文件

我想通过一堆目录,并重命名以_test.rb结尾的所有文件,而不是以_spec.rb结尾。 这是我从来没有想过如何处理bash,所以这次我想我会付出一些努力来钉牢。 尽pipe我到目前为止已经尽力了,但我的最大努力是: find spec -name "*_test.rb" -exec echo mv {} `echo {} | sed s/test/spec/` \; 注意:在exec之后还有一个额外的回声,这样当我testing它时,命令就会被打印出来而不是运行。 当我运行它时,每个匹配的文件名的输出是: mv original original 即sed的replace已经丢失。 有什么窍门?

使用SED删除空行

我正在尝试删除使用sed的空行 sed '/^$/d' 但我没有运气。 例如我有这样的话: xxxxxx yyyyyy zzzzzz 我想它是这样的: xxxxxx yyyyyy zzzzzz 这个代码应该是什么?

结合2个sed命令

我有一个文件r 。 我想用MINvac.pdbreplaceFile和MINvac.pdb中的文字。 我用的命令是: sed -i 's/File//g' /home/kanika/standard_minimizer_prosee/r 和 sed -i 's/MINvac.pdb//g' /home/kanika/standard_minimizer_prosee/r 我想把两个sed命令合并成一个,但我不知道。 谁能帮忙? 该文件如下所示: -6174.27 File10MINvac.pdb -514.451 File11MINvac.pdb 4065.68 File12MINvac.pdb -4708.64 File13MINvac.pdb 6674.54 File14MINvac.pdb 8563.58 File15MINvac.pdb

在OS X上就地编辑sed

我想在OS X上用sed编辑一个文件。我正在使用下面的命令: sed 's/oldword/newword/' file.txt 输出被发送到terminal。 file.txt没有被修改。 使用此命令将更改保存到file2.txt中 : sed 's/oldword/newword/' file1.txt > file2.txt 但是我不想要另一个文件。 我只想编辑file1.txt 。 我该怎么做? 我已经尝试了-i标志。 这会导致以下错误: sed: 1: "file1.txt": invalid command code f

sed中的环境variablesreplace

如果我从脚本运行这些命令: #my.sh PWD=bla sed 's/xxx/'$PWD'/' … $ ./my.sh xxx bla 没事。 但是,如果我运行: #my.sh sed 's/xxx/'$PWD'/' … $ ./my.sh $ sed: -e expression #1, char 8: Unknown option to `s' 我在教程中看到,要从shell中replace环境variables,你需要停止,并且'out quote' $varname部分,这样它就不会被直接replace,这就是我所做的,只有当variables被定义之前。 我怎样才能让sed识别$var作为一个环境variables,因为它是在shell中定义的?

我怎样才能删除Unix中的文件中的重复行?

有没有办法在Unix中删除文件中的重复行? 我可以用sort -u和uniq命令来完成。 但我想用sed或awk 。 那可能吗?