sed 相关问题

Sed(Stream EDitor)是POSIX环境的命令行编辑器。 Sed根据编辑脚本处理一个或多个文件,并将结果写入标准输出。它创建于贝尔实验室,自70年代中期以来一直存在。

正则表达式忽略结束行之前的字符串

我的 CSV 文件如下所示: “08d43c37-9b43-4030-b1db-558f8bc89d52”,“0007661355”,“cus_7luwjohxnnlujhwinhvhtmzc4y”,“[email protected]”,&q...

回答 1 投票 0

将 ICON 参考替换为任何内容

在从 Firefox 导出的超过 2600 个书签的文件中,我想将它们导入到 Buku 中,这似乎与 html 文件中的图标有关。 所以我想用 ICON 参考代替任何东西......

回答 1 投票 0

使用awk等从奇数行中减去偶数行

我正在 bash shell 中处理一些数据,需要使用 sed/awk 等对其进行操作,并且需要从奇数行中减去偶数行。 例如: 51202598 51204294 51370060 51371733 第515章...

回答 3 投票 0

使用 bash 脚本编辑配置文件

我有一个bash脚本需要修改.ssh/config。我的目标是使用 sed 更改 server1 的 HostName 值,我已经设法做到这一点,但在文件中有更多 HostName 和...

sed
回答 4 投票 0

使用 sed 过滤列表中的学生

我有一个学生列表,我已将其保存到文本文件 Students.txt 中。 John Doe 营销初级 B 贝蒂·梅蒂 工程初级 A 詹姆斯命名护理大二学生 B 鲍勃·诺布历史新生 B ...

回答 3 投票 0

sed 向自身追加一行或 awk $0 等价物?

我有这个文本文件,其中包含一个列表,例如 姓名 姓 办公室 地址 家庭电话 办公室电话 我的其他值 我想把它变成 '姓名': '姓名'; '姓氏':'姓氏'; '办公室':'办公室...

回答 1 投票 0

GnuWin32 sed 用于将 CRLF 替换为“;”来自 WIndows 批处理文件

我的输入带有 CRLF 行结尾: 1019 1020 1028 1021 我想使用 Windows 10 批处理脚本(不是 Powershell)从 Gnuwin32 中使用 sed(或 awk)删除每行末尾的 CRLF。 我想要...

回答 3 投票 0

在引号对内分割字符串时如何修复?

如果我们有以下不良情况: (第1行) "1","TEST","{"K1":"V1","K2":"V2"}","普通行","Contents&q...

回答 1 投票 0

如何用“;”替换文本文件的所有CRLF带有可以使用GNU工具的W10 cmd批处理文件?

我的输入带有 CRLF 行结尾: 1019 1020 1028 1021 我想使用 Windows 10 批处理脚本(不是 Powershell)从 Gnuwin32 中使用 sed(或 awk)删除每行末尾的 CRLF。 我想要...

回答 3 投票 0

如何将文本文件的所有 CRLF 替换为 ;带有可以使用 Sed、Awk (Gnuwin32) 的 W10 cmd 批处理文件

我想用Windows 10下的Gnuwin32中的sed(或我不太了解的awk)删除每行末尾的CRLF。 我有这个输入(Dos 格式,因此在行尾有 CRLF): 1019 我想在Windows 10下使用Gnuwin32中的sed(或我不太了解的awk)删除每行末尾的CRLF。 我有这个输入(Dos 格式,因此在行尾有 CRLF): 1019<CR><LF> 1020<CR><LF> 1028<CR><LF> 1021<CR><LF> 并且,使用可以使用“W10批处理”或“sed”或“awk”(但不能使用Powershell)的W10 cmd批处理脚本,我想在文本文件中获得以下结果: 1019;1020;1028;1021 结果必须如上:在 1 行上,以半列作为分隔符,并且末尾没有任何半列。 尽管我在这个网站上读过类似的帖子,但我不知道如何做到这一点,因为我总是得到结果 它不适用于批处理文件中的以下几行(似乎有一个带有 GNUwin32 Sed 的 pb 在每个处理行的末尾添加新内容): REM This to generate the input example : (echo 1019& echo 1020& echo 1028& echo 1021) > test_in.txt REM This is the first try for getting the desired 1-line output with semicolumn : (echo 1019& echo 1020& echo 1028& echo 1021) | .\GnuWin32\bin\sed -e "s/ *$//g" | .\GnuWin32\bin\sed -e "s/\r\n/;/" > test_out.txt REM This is the second try for getting the desired 1-line output with semicolumn : REM (echo 1019& echo 1020& echo 1028& echo 1021) | .\GnuWin32\bin\sed -e "s/ *$//g" | .\GnuWin32\bin\sed -b -e "s/\x0d\x0a/;/g" > test_out.txt REM This is the third try for getting the desired 1-line output with semicolumn : REM (echo 1019& echo 1020& echo 1028& echo 1021) | .\GnuWin32\bin\sed -e "s/ *$//g" | .\GnuWin32\bin\awk "{gsub(\"\\\\r\\\\n\",\";\")};1" > test_out.txt REM This is the fourth try for getting the desired 1-line output with semicolumn : REM (echo 1019& echo 1020& echo 1028& echo 1021) | .\GnuWin32\bin\sed -e "s/ *$//g" | .\GnuWin32\bin\awk -v FS="\r\n" -v OFS=";" -v RS="\\$\\$\\$\\$" -v ORS="\r\n" "{$1=$1}1" > test_out.txt 在 Unix 中使用 GNU awk 会是: awk ' BEGIN { RS="\r\n" } { printf "%s%s", (NR>1 ? ";" : ""), $0 } ' file 你如何在 Windows 中调用它,我不知道,但我希望你知道或者可以通过 google 搜索它,因为你正在使用该环境。

回答 1 投票 0

用 sed 匹配另一行上的模式后替换后面的行

我正在尝试使用 sed 来查找并替换我拥有的大文件 python 文件。 该文件包含字典列表中的许多项目。每个字典都包含一个名称字段。我想找到特定的名字......

sed
回答 1 投票 0

“ls”的非列输出通过管道传输到“sed”[关闭]

据我所知,命令 sed 逐行处理其输入。因此,以下命令成功仅输出当前目录中的目录: $ ls -p -1 | sed -n '/\/$/p' 在这里...

回答 1 投票 0

如何使用python或bash合并以下2个文件?

第一个文件(制表符分隔)是 1 2 3 乙 6 7 8 9 0 9 第二个文件(制表符分隔)是 a_rna_1 r r x a_rna_2 q q d

回答 1 投票 0

使用文件内容通过 SED 替换字符串

Mac shell 脚本的 sed 命令是什么,它将用 myFile.txt 的整个字符串内容替换字符串“fox”的所有迭代。 myFile.txt 将是带有 bre... 行的 html 内容

回答 3 投票 0

使用 sed 替换字符,但如果它位于 bash csv 文件中的字符串中则不替换

大家早上好, 我有一个 csv,想用分隔符“;”替换所有分隔符“,”,但如果它在字符串中(在 csv 字段中),我必须保留“,”: C...

回答 1 投票 0

sed 替换部分 linux 路径

我有 2 个文本文件需要在 Linux 环境中进行比较。它们来自两个不同的来源。它们都包含它们的源路径,因此比较将失败。 然而,关于...

回答 1 投票 0

如何使用具有此路径的变量从 Linux 中的文本文件中删除包含文件路径的特定行?

我需要从 fstab 文件中删除特定行,给定 $MOUNTPOINT 变量中的挂载点: 所以,我有这个变量: MOUNTPOINT=/mnt/my_lvm_partition 当我试图在 fstab 文件中找到它时...

回答 1 投票 0

sed 在 .txt 文件中的字母组和数字组之间添加破折号

我有一个txt文件,其中包含多行文本,其中一个字符串中包含模式字母和数字,其中前面可以有任意数量的字母,后面可以有任意数量的数字。 ABC123 ACDEG12 AR123456

回答 1 投票 0

使用 sed 替换数组中的字符串

我有以下文件 我有以下文件 <path name="headphones-hifi-dac-advanced"> <ctl name="Es9018 Master Volume" value="0" /> <ctl name="Es9018 AVC Volume" value="0" /> <ctl name="Es9018 HEADSET TYPE" value="2" /> </path> <path name="headphones-hifi-dac-aux"> <ctl name="Es9018 Master Volume" value="0" /> <ctl name="Es9018 AVC Volume" value="0" /> <ctl name="Es9018 HEADSET TYPE" value="3" /> </path> <path name="headphones-hifi-dacdop"> <ctl name="Es9018 Master Volume" value="15" /> <ctl name="Es9018 AVC Volume" value="1" /> <ctl name="Es9018 HEADSET TYPE" value="1" /> </path> <path name="headphones-hifi-dacdop-advanced"> <ctl name="Es9018 Master Volume" value="0" /> <ctl name="Es9018 AVC Volume" value="0" /> <ctl name="Es9018 HEADSET TYPE" value="2" /> </path> 我想将每个 Es9018 Master Volume 条目的值替换为不同的值,请参见下文: <path name="headphones-hifi-dac-advanced"> <ctl name="Es9018 Master Volume" value="5" /> <ctl name="Es9018 AVC Volume" value="0" /> <ctl name="Es9018 HEADSET TYPE" value="2" /> </path> <path name="headphones-hifi-dac-aux"> <ctl name="Es9018 Master Volume" value="15" /> <ctl name="Es9018 AVC Volume" value="0" /> <ctl name="Es9018 HEADSET TYPE" value="3" /> </path> <path name="headphones-hifi-dacdop"> <ctl name="Es9018 Master Volume" value="20" /> <ctl name="Es9018 AVC Volume" value="1" /> <ctl name="Es9018 HEADSET TYPE" value="1" /> </path> <path name="headphones-hifi-dacdop-advanced"> <ctl name="Es9018 Master Volume" value="0" /> <ctl name="Es9018 AVC Volume" value="0" /> <ctl name="Es9018 HEADSET TYPE" value="2" /> </path>`` 如何使用 sed 逻辑实现这一点? 我尝试过 sed -i "/ *<path name=\"headphones-hifi-dac\">/a\ <ctl name=\"Es9018 AVC Volume\" value=\"0\" \/>" 但它最终创建了新条目而不是替换当前条目 这可能对你有用(GNU sed): sed -E '1{x;s/^/'$(seq -s, 5 5 100)'/;x} /Es9018 Master Volume/{G s/(value=").*(".*\n)([^,]*),/\1\3\2/;P;s/.*\n//;h;d}' file 使用卷的唯一值初始化保留空间(此处从 5 以 5 为步长到值 100,如果需要更多,请增加 seq 命令的最后一个值)。 当一行包含 Es9018 Master Volume 时,附加唯一值并使用替换将当前值替换为列表中的第一个值。然后打印修改后的行并用耗尽的列表替换保留空间。 重复。

sed
回答 1 投票 0

如何使用 Bash 命令提取多行集群?

我正在尝试使用 Bash 命令从文本文件中提取簇。每个簇都由一条以 >Cluster 开头的线来划分。我只想提取那些具有多个数据行的簇

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.