sed

需要帮助 sed、awk 或其他可以操作文本文件的工具
sed

需要帮助 sed、awk 或其他可以操作文本文件的工具

我有一个包含文件名的文本文件 Test.m3u: FileName1.mp4 FileName2.mp4 FileName3.mp4 我需要制作以下形式的播放列表: #EXTM3U #EXTINF:FileName1 PATH/FileName1.mp4 #EXTINF:FileName2 PATH/FileName2.mp4 #EXTINF:FileName3 PATH/FileName3.mp4 命令: sed -i -e 's/^/PATH:/' test.m3u 会将路径添加到每一行,但是如何将行 #EXTINF:FileName...

Admin

使用 sed 进行重叠替换?
sed

使用 sed 进行重叠替换?

假设我有一个输入字符串: ,,a,b,c,,,,d,e,f,,,g 是否有一个简单的 sed 命令可以在每对连续的逗号之间插入一些内容?也就是说,我可以使用什么将输入字符串转换为: 0,0,a,b,c,0,0,0,d,e,f,0,0,g ...

Admin

在文件中用巨大的字符串替换(参数列表太长)
sed

在文件中用巨大的字符串替换(参数列表太长)

我有一个文件,我想用一个巨大的字符串文字替换其中的字符串,形式为“19209302”,“19209329”,这样有 10 万个条目。 我正在使用 sed,但出现“参数列表太长”错误,而如果我使用这样的 100 个条目,它就可以正常工作。 这是我在 shell 脚本 sed "s/@devices/$devices/" active_payload.json 中尝试执行的操作,其中文件有一个字符串 @device,我试图用 $devices 替换它,一个变量包含一个巨大的字符串 我该如何解决这个问题? ...

Admin

Bash 文件重定向的工作方式与脚本不同
sed

Bash 文件重定向的工作方式与脚本不同

$ cat test.txt foo bar 此 sed 命令将 text.txt 的第一行替换为“baz”。它在命令行中运行良好: $ sed "1s%.*%baz%" "test.txt" > "test.txt" $ cat test.txt baz bar 我希望能够将该 sed 命令放入名为test.sh如下内容的脚本中: #!/bin/sh sed "1s%.*%baz%" "test.txt" > "test.txt" 但是,当我运行它时./test.sh,它会删除 text.txt 中的所有行(text.txt 被...

Admin

除第一个单词外,其他行完全相同,将第一个单词放入变量中
sed

除第一个单词外,其他行完全相同,将第一个单词放入变量中

我有一个文件 (sudoers),其中的行除了第一个单词外可以完全相同(不同的用户可以执行同一组命令)。我可以使用以下命令提取这样的行: # grep -v '^ *%' /etc/sudoers |egrep "$users_in_which_I_am_interested | sort|awk '{sub(/^[ \t]+/, "")};1' tom ALL = NOPASSWD:/usr/bin/pwdadm,/usr/bin/chsec,/usr/bin/chuser jim ALL = NOPASSWD:/usr/bin/pwdadm,/...

Admin

sed 不会消耗行的剩余部分
sed

sed 不会消耗行的剩余部分

我在 txt 文件中存储了一行不同的单词 N/A 9.0 Yes Yes N/A N/A N/A N/A 8.8 Yes Yes N/A N/A N/A N/A 8.7 Yes Yes N/A N/A N/A N/A 9.2 Yes Yes Yes Yes Yes Yes 9.1 Yes Yes Yes Yes Yes Yes 9.0 Yes Yes Yes Yes Yes Yes 8.8 Yes Yes Yes Yes Yes Yes 8.7 Yes Yes Yes Yes Yes Yes 22.04 Yes Yes Yes Yes Yes Yes AK...

Admin

搜索和替换不适用于 sed busybox。出现 sed:不匹配的“/”错误
sed

搜索和替换不适用于 sed busybox。出现 sed:不匹配的“/”错误

我正在尝试搜索特定的字符串并替换文件内的所有出现的内容。 sed -i -e "s/$search_string/$replace_string/g" $filePath 我sed: unmatched '/'在 BusyBox v1.35.0 上不断收到错误。但是在我的本地系统上,同样的事情却运行正常。 和不,既不包含 $search_string也不$replace_string包含任何/。为了以防万一,我也尝试使用所有类型的分隔符。 ...

Admin

为什么 sed 在一夜之间就停止使用表情符号了,但只有 3 台机器中的 1 台?
sed

为什么 sed 在一夜之间就停止使用表情符号了,但只有 3 台机器中的 1 台?

我有 3 台机器,都在 TCC 命令行下运行相同版本的 sed(cygwin)。 今天早上,我醒来发现 sed 无法处理表情符号,但只有 3 台机器中的 1 台可以。 这 3 台机器上的 sed 版本相同,并且其中一台正常工作的机器上的 TCC 命令行版本为 28,另一台机器上的 TCC 命令行版本为 31,而出现故障的机器上的 TCC 命令行版本为 31。 换句话说,该错误与版本无关。 C:\>echo gOlIaTh | sed -e 's/goliath/GOLIATH/gi' GOLIATH C:\>echo gOlIaTh | sed...

Admin

sed 搜索替换正则表达式模式以替换路径中的重复字符串
sed

sed 搜索替换正则表达式模式以替换路径中的重复字符串

我在使用它来替换文件路径的特定重复部分时遇到了一些麻烦sed,我无论如何也无法弄清楚如何让它工作。 例如,假设我有一个文件路径列表: 输入.txt gs://example-bucket/H20/H20AC0010001999B-01.jpg gs://example-bucket/H20/H20AC0010001999B-02.jpg gs://example-bucket/H20/H20AC0010001999B-03.jpg 我想保留文件夹结构但删除文件名本身中的相同引用: 理想输出.txt gs://example-bucket/H20/AC001...

Admin

rstrip 通过 sed 管道传输的文本行
sed

rstrip 通过 sed 管道传输的文本行

因此,我尝试在通过管道传输到 sed 的文本行上实现 rstrip 函数,但遇到了麻烦。以下是我认为应该可行的方法: cat file1.txt | sed 's/[[:blank:]]+$//g;' > testrstrip.txt 当我测试代码时,它对输入没有任何影响。 这是一个测试和结果的示例(输出中的引号仅用于显示空格。所有空格都是空格) echo "babillion "| sed 's/[[:space:]]+$//g;' > testrstrip.txt "babillion " 输出末尾还有一个换行符,我无法显示...

Admin

查找日期并将其替换为 UTC 日期
sed

查找日期并将其替换为 UTC 日期

我有一个如下文件: [2024-01-20 15:23:00] hello world [2024-01-20 15:42:00] bye [2024-01-20 15:43:00] foo bar ... 此文件中的日期为 UTC+1,我想将其转换为 UTC 我尝试使用sed捕获组: cat file | sed -E "s/(([0-9]+-[0-9]+-[0-9]+)? ?([0-9]+:[0-9]+:[0-9]+))/$(date -d "\1 UTC+1" +%H:%M:%S -u)/g" 但我得到了: date: invalid date ‘...

Admin

为什么尽管我的文本文件的物理大小增加了,但其 .gz 压缩文件的大小却明显减小了
sed

为什么尽管我的文本文件的物理大小增加了,但其 .gz 压缩文件的大小却明显减小了

我有一个大型测试文件,其.gz格式约为 13 GB。我替换了原始文件中的子字符串,并将文件压缩为.gz格式。 为此,我使用了以下 Linux 命令: zcat $inFile | sed -e "s/0\/0:.:.:./0\/0:.:1,0,0:./g" | gzip > $outFile 0/0:.:.:.—> 0/0:.:1,0,0:。 如您所见,我将一个字符替换为 5 个字符,但输出文件的物理大小仍约为 12 GB。 有人能帮助我了解这里发生了什么吗? ...

Admin

我如何告诉 sed 停止尝试处理命令?
sed

我如何告诉 sed 停止尝试处理命令?

也许我是个白痴(这是可能的情况,而且我对 sed/bash 脚本还不熟悉),但为什么这样做有效呢: NewVersion="$(echo $NewVersionFile | sed 's/^.*-\([0-9]*\.[0-9]*\.[0-9]*\).*/\1/')" 但事实并非如此: NewVersion={echo $NewVersionFile | sed 's/^.*-\([0-9]*\.[0-9]*\.[0-9]*\).*/\1/'} 第二条命令的结果是sed: -e expression #1, char 39: unexpected }' 我怎样...

Admin