sed

bash sed 与 /^$/d;G 命令

我对 sed 有疑问: 假设 file.txt 中的内容是这样的: one two three 然后我运行: sed '/^$/d;G' file.txt 我觉得流程应该是这样的: for line in file { pattern_space = line if (pattern_space == "\n") then pattern_space = "" ... »

如何使用 sed 命令或 awk 命令打印两个模式之间匹配但第二个模式在文件中多次存在的行?

我有这个输入文件 F1: Good morning! Have a nice day; see you again the next day; Bye; 我想打印“Have”和“day”之间的行。 我试过这个命令:*sed -n '/Have/,/day/ p*' F1 输出是:祝你有美好的一天 但我也希望打印第二行,因为它也具有相同的“日”模式。 期望的输出: 祝你有美好的一天; 第二天... »

为什么这个 sed 命令输出“[18”而不是“18”?

echo [18%] | sed s:[\[%\]]::g 我对此感到非常困惑,因为相同的模式成功地替换了 vim 中的 [18%]。我还在一些在线正则表达式工具中测试了该表达式,他们都说它将按预期匹配[、% 和]。我尝试添加 -r 选项以及将替换命令括在引号中。 我知道我可以使用其他命令来完成此任务,但我想知道它为什么会这样,以便更好地了解 sed。... »

为什么 sed 不替换这个换行符?

我在 Ubuntu 的 Bash shell 中使用 sed 来替换某些文件中的文本。这是我的文字: BLah </V> <N> Blah 这是我想要转换的内容: Blah" = "Blah 这是我正在使用的 sed 命令: sed -i 's@ </V>\n<N> @" = "@g' 我所有的其他sed 命令都在工作,除了这个。... »

第一列匹配;读取模式并替换为第二个文件列中的特定值

我想有条件地使用 file2(tab-delimited) 更新 file1(tab-delimited)。 对于 file1 的每一行,对除第一列之外的每一列执行以下替换,使用 file2 中第一列中与 file1 中第一列中具有相同值的行: 一个。如果; file1中的字段包含字符串“A”,将其替换为file2第二列中的字符串 b。否则如果; file1 中的字段包含字符串“B”,将... »

改组分隔的 csv 文件中的列

我有一个 csv 文件: $ cat test.csv 3424234,123544,263872387,99999,999, "", "", "", "" 我想将第一列和第二列的值交换为其他随机数值。 我一直在尝试使用 awk,到目前为止,我已经设法替换了整行。 $ awk '{$1 = shuf -i 10000000000-99999999999 -n 1; print}' te... »

使用 sed 命令格式化输出

我需要你的帮助... 我得到了这样的文字: 2016.04.10 19:24:00,044 +0300 basdahsdjashd asjd ashdjkl [{"socialSecurityNumber":"68888410106514","socialSecurityNumberCountryCode":"EE"}] 2016.04.07 14:29:09,126 +0300 jsjdgdb... »

如何获取从最后一个匹配到文件末尾的行?

需要在最后一个匹配后打印行到文件末尾。匹配的数量可以是任意的,并且不是确定的。我有一些如下所示的文字。 MARKER aaa bbb ccc MARKER ddd eee fff MARKER ggg hhh iii MARKER jjj kkk lll 想要的输出是 jjj kkk lll 我是否将 awk 与 RS 和 FS 一起使用以获得所需的输出? ... »

如何使用sed在大写和小写之间传输字符

比如我的src.tex是 SectionType *p = NULL; 我想把它改成 section_type *p = NULL; 我想要做的只是改变SectionType,但保持NULL不变,我使用了y/[A-Z]/[a-z],但这会改变所有的行。 我的 sed 不支持 \L,\l,\U 和 \u 函数,它的版本是 3.* 并且在 FSF 下分发,而不是 GNU,可能 GNU 可以很... »

sed 命令在多行搜索后插入多行字符串

我想在两个特定行之后将文本行插入另一个文本文件。 在类似的东西之后插入 some text... example text ( ); some text... 我有一个文本文件(包含两行文本),我希望 sed 将其插入括号之间。 如果我尝试插入的文本文件包含类似于以下内容的内容 need this; in between the parentheses; 那么我... »

使用 sed 更新 xml 中的属性值

尝试使用 sed 修改 xml 中的属性值,但没有按预期工作。例如,我想更新 doc 元素中 data 属性的值。 <doc_details> <map> <doc name="doc_name" data="doc_value" /> <map> </doc_details> 下面的 sed 命令没有替换预期值... »

Sed在XML匹配后替换整行[重复]

一旦我识别出正确的标签,我想替换 XML 中的一行。 拍 <root> <My_Name>Andrew</My_Name> <My_Age>94</My_Age> </root> 我想更换 安德鲁 和 鲍勃 Bob 存储在 $nameVariable 中的位置 使用 sed, sed -i 's/... »

从日志文件中阻止文本隔离

我倾向于在服务器启动期间查看日志文件中的错误,less 用于实现此目的。 但是,我想要更高效的东西。 我想查看“服务器停止”和“启动”两种模式之间的日志 我已经使用sed 实现了这一目标 sed -n '/Stopping/,/Server startup/p' test.txt 这工作正常,但有一个问题。日志文件一遍又一遍地包含这种模式(随着服务器的停止和启动),我怎样才能只获得这种模... »

将命令输出发送回管道中的上一个子 shell 进行处理

给定this html5 page,使用xmllint 使用文件描述符与先前的子shell 交互地处理它。 申请于xml2xpath OS project。 如何重现:在“问题”部分运行脚本 sn-p 基本命令是: (echo 'xpath //*'; echo "bye") | xmllint --shell html5.html 提供要处理的源输出: / > xpath //* Obj... »

sed 删除影响文件中的所有行

免责声明:我对 sed 的经验很少。 我正在尝试通过使用 bash 脚本自动执行一项有些繁琐的任务,其中一个步骤是从 Maven pom.xml 文件中删除一行,我正在尝试使用以下 sed命令: sed -i '/<module>'"${MODULE_NAME}"'<\/module>/d' ./pom.xml 它似乎工作正常。问题是 pom 的所有行都受此影响,... »

尝试从 UNIX 文件中删除不可打印的字符(垃圾值)

我正在尝试从我的文件中的记录中删除不可打印的字符(例如 ^@)。由于文件中的记录量太大,因此使用 cat 不是一个选项,因为循环花费了太多时间。 我尝试使用 sed -i 's/[^@a-zA-Z 0-9`~!@#$%^&*()_+\[\]\\{}|;'\'':",.\/<>?]//g' FILENAME 但^@ 字符仍然没有被删除。 我也尝试使用 awk '{ s... »

仅在大括号外替换文件中的字符串

我需要替换文件中的一些字符串,但是当字符串在花括号内时,我需要跳过它。类似的东西 sed -i '/[^{].*foo.*[^}]/ s/foo/bar/g' test.f 测试文件 test.f 包含如下内容: bar foo {foobar}bar {foo} 这应该只搜索未包含在大括号中的字符串中的 foo。所以结果应该是: bar bar {foobar}bar {foo}... »

根据连续两行中的模式拆分文件

我有以下格式的文件: ATOM 3736 CB THR A 486 -6.552 153.891 -7.922 1.00115.15 C ATOM 3737 OG1 THR A 486 -6.756 154.842 -6.866 1.00114.94 O ATOM 3738 CG2 THR A 486... »

将数字转换为千兆字节(sed、awk、sh、bash)

我有以下多行输出: Volume Name: GATE02-SYSTEM Size: 151934468096 Volume Name: GATE02-S Size: 2000112582656 是否可以转换如下字符串: Volume Name: GATE02-SYSTEM Size: 141.5 Gb Volume Name: GATE02-S Size: 1862.75 Gb 使用... »

Grep 转义特殊字符

您好,我是 shell 脚本的新手,我面临以下问题 1> 我如何用 grep 在一个大文件中的单词中查找带有 " 或 ' 或两者兼有的单词 我试过了 grep "'\|"" foo.txt 这不起作用 2 > 获取一个包含文本的文件并打印存在该文本的另一个文件的整行 例子 文件 1 包含 abc def lmo 文件 2 包含 amn,abc abc,amd fgh,de... »