Questions tagged «sed»

sed是用于过滤和转换文本的命令行流编辑器。

3
如何在文件中的某个字符串后插入文本?
现在,我正在echo "Hello World" >> file.txt将一些文本附加到文件中,但是我还需要在某个字符串下方添加文本,例如“ [option]”,这可能sed吗? 例如: 输入文件 Some text Random [option] Some stuff 输出文件 Some text Random [option] *inserted text* Some stuff

7
如何从cat输出中读取第一行和最后一行?
我有文本文件。任务-从文件之后获取第一行和最后一行 $ cat file | grep -E "1|2|3|4" | commandtoprint $ cat file 1 2 3 4 5 需要没有cat输出(仅1和5)的此功能。 ~$ cat file | tee >(head -n 1) >(wc -l) 1 2 3 4 5 5 1 也许awk和更短的解决方案存在...
64 bash  shell  sed  awk  grep 

3
Mac OSX上的sed与其他“标准” sed之间的区别?
我在使用本网站上提供的答案时遇到一些问题,该问题是关于sed命令用其他两行内容替换空白行的,如果在Mac OS上使用sed命令(对于我来说是10.6.7, ) 是不同的。我认为并非如此,但我想知道本网站上的其他人是否有不同的看法。
61 osx  sed  standard 

11
如何在sed替代的LHS和RHS中使用变量?
我想要做: cat update_via_sed.sh | sed 's/old_name/new_name/' > new_update_via_sed.sh 在我的程序中。 但是我想使用变量,例如 old_run='old_name_952' new_run='old_name_953' 我试过使用它们,但是替换不会发生(没有错误)。我努力了: cat update_via_sed.sh | sed 's/old_run/new_run/' cat update_via_sed.sh | sed 's/$old_run/$new_run/' cat update_via_sed.sh | sed 's/${old_run}/${new_run}/'
60 sed 

9
如何在Linux中使用Shell脚本解析JSON?
我有一个JSON输出,需要从Linux中提取一些参数。 这是JSON输出: { "OwnerId": "121456789127", "ReservationId": "r-48465168", "Groups": [], "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": null, "RootDeviceType": "ebs", "State": { "Code": 16, "Name": "running" }, "EbsOptimized": false, "LaunchTime": "2014-03-19T09:16:56.000Z", "PrivateIpAddress": "10.250.171.248", "ProductCodes": [ { "ProductCodeId": "aacglxeowvn5hy8sznltowyqe", "ProductCodeType": "marketplace" } ], "VpcId": "vpc-86bab0e4", "StateTransitionReason": null, "InstanceId": "i-1234576", "ImageId": …

2
根据行号替换字符串
我有一种情况想要替换许多文件中的特定字符串 用另一个字符串BBB替换一个字符串AAA,但是有很多以AAA开头或以AAA结尾的字符串,我只想在第34行替换一个,并保持其他字符串不变。 是否可以通过行号指定,在所有文件上,此字符串恰好位于第34行。
50 sed  awk 

13
匹配后如何打印所有行至文件末尾?
输入文件1为: dog 123 4335 cat 13123 23424 deer 2131 213132 bear 2313 21313 我给匹配从中的模式other file(如dog 123 4335从file2)。 我匹配该行的模式,dog 123 4335并且在打印不匹配行的所有行后,我的输出是: cat 13123 23424 deer 2131 213132 bear 2313 21313 如果仅使用无行地址仅使用模式,例如1s 如何匹配并打印行?


4
反向grepping
假设我有一个很大的文本文件(大约10.000.000行)。我需要grep从头开始并将结果保存到文件中。完成任务的最有效方法是什么?

5
从文件中删除最后一行
我sed 用来快速删除具有特定位置的行 sed '1d' sed '5d' 但是,如果我想删除文件的最后一行并且不知道行数怎么办(我知道我可以使用wc其他技巧来做到这一点)。 目前,采用一种变通方法与head和tail结合wc这样做。这里有任何曲折吗?

9
标签的简单sed更换神秘失败
这应该真的很简单,但是由于某些原因它不起作用: sed -i.bak -E 's/\t/ /' file.txt 不是替换制表符,而是替换t字符。我已经尝试了所有可以想到的变体,使用引号等。我用Google搜索,发现其他所有人都使用非常相似的表达式,它们似乎很适合他们。 这-E是OS X的东西。我以为失败可能是OS X的一些怪异的结果sed,所以我也使用Ruby进行了尝试(不带-i),并且得到了相同的结果: ruby -pe '$_.gsub!(/\t/," ")' < file.txt > file.new 我在OS X和iTerm上使用的是Bash 3.2.51,尽管我看不到其中任何一个都非常相关。我没有设置任何奇怪的环境变量,尽管我可以发布您认为可能相关的任何变量。 有什么事吗 更新:我在尝试Ruby版本时肯定犯了其他错误或错字,因为Gilles指出它确实有效(而且我从来没有让他把我弄错!)。我不确定发生了什么,但是我很确定那一定是我的错误。


9
如何通过替换文件名中的字符串来重命名多个文件?该字符串包含“#”
https://serverfault.com/questions/70939/how-to-replace-a-text-string-in-multiple-files-in-linux https://serverfault.com/questions/228733/how-to-rename-multiple-files-by-replacing-word-in-file-name https://serverfault.com/questions/212153/replace-string-in-files-with-certain-file-extension https://serverfault.com/questions/33158/searching-a-number-of-files-for-a-string-in-linux 这些提到的文章都回答了我的问题。但是他们都不适合我。我怀疑是因为我要替换的字符串中包含#。有没有解决此问题的特殊方法? 我有一个图像文件,它在站点迁移期间将é替换为#U00a9。这些看起来像这样: Lucky-#U00a9NBC-80x60.jpg Lucky-#U00a9NBC-125x125.jpg Lucky-#U00a9NBC-150x150.jpg Lucky-#U00a9NBC-250x250.jpg Lucky-#U00a9NBC-282x232.jpg Lucky-#U00a9NBC-300x150.jpg Lucky-#U00a9NBC-300x200.jpg Lucky-#U00a9NBC-300x250.jpg Lucky-#U00a9NBC-360x240.jpg Lucky-#U00a9NBC-400x250.jpg Lucky-#U00a9NBC-430x270.jpg Lucky-#U00a9NBC-480x240.jpg Lucky-#U00a9NBC-600x240.jpg Lucky-#U00a9NBC-600x250.jpg Lucky-#U00a9NBC.jpg 我想将其更改为以下内容: Lucky-safeNBC-80x60.jpg Lucky-safeNBC-125x125.jpg Lucky-safeNBC-150x150.jpg Lucky-safeNBC-250x250.jpg Lucky-safeNBC-282x232.jpg Lucky-safeNBC-300x150.jpg Lucky-safeNBC-300x200.jpg Lucky-safeNBC-300x250.jpg Lucky-safeNBC-360x240.jpg Lucky-safeNBC-400x250.jpg Lucky-safeNBC-430x270.jpg Lucky-safeNBC-480x240.jpg Lucky-safeNBC-600x240.jpg Lucky-safeNBC-600x250.jpg Lucky-safeNBC.jpg 更新: 这些示例都以“ LU00a9ucky”开头,但是这里有许多名称不同的图像。我只是将字符串的“#U00a9”部分定位为“ safe”。
42 sed  rename  mv 

7
sed可以替换换行符吗?
sed和换行符有问题吗? 我有一个包含以下内容的文件test.txt aaaaa bbbbb ccccc ddddd 以下内容不起作用: sed -r -i 's/\n/,/g' test.txt 我知道我可以使用tr它,但是我的问题是为什么用sed似乎不可能。 如果这是逐行处理文件的副作用,那么我会对为什么会发生这种情况感兴趣。我认为grep删除新行。sed是否也一样?
42 sed 


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.