Questions tagged «sed»

“ sed”(“流编辑器”)是一个Unix实用程序,用于解析和转换文本文件。

5
如何按照指定的行数拆分CSV文件?
我已经将CSV文件(大约10,000行;每行具有300列)存储在LINUX服务器上。我想将此CSV文件分解为500个CSV文件,每个文件20条记录。(每个具有与原始CSV中相同的CSV标头) 有什么linux命令可以帮助这种转换吗?
2 linux  unix  sed  csv  awk 

1
如何删除文件中第3次出现的模式
如何在文件中找到模式的第三次出现(注意:不在一行中)并删除包含模式的行 ñ 下面的行(比如下面的5行)。 例如。, COVER fafjasfj isfapifj ajfsdaijf COVER oaijfeiahf aasdf fafadf df This is a COVER * efjafa * aifaidfj * aifhaidfh * idfhaifh * aidfhiadhf * aifhaifh iafaishf jgsjg fbsfgbf 我想删除包含第三次出现的模式的完整行 COVER 以及下面的五行。这些线用表示 * 秒。 (注意: * s不是文件的一部分。

4
从文件中删除文本
我想从中删除一些文字 file1.txt。 我把文本放在文件中 tmp 并做: grep -f tmp file.txt 但它只给我带来了不同。 问题是如何消除差异 file.txt。
1 linux  sed  awk  grep 

2
解析两个输入文件并比较行存在
我需要获取两个文本文件并检查文件A中是否存在文件A中存在的行。 应将文件A中不存在于文件B中的每一行复制到输出日志中。 我的一个朋友建议SED,但我以前从未使用它,所以我该怎么做呢?

2
将最后一个命令的输出传递给sed作为参数
基本上,我想在正确的位置自动添加一些东西到xorg.conf,我已经使用了一些命令来获取我想要操作的行的行号,但我不确定如何去传递这个行号(作为参数而不是被操纵的东西)来sed。我被告知xargs并查看了它上面的文档,但经过一些阅读和实验后,我似乎无法让它工作。 如果任何人都可以完全想到一个更好的方法,我想要自动化的过程只是找到包含“Identifier”和“Monitor0”的行(只有一个)并在其下面添加一行。只是找到Monitor0并操纵该行的问题就是存在 多 Monitor0中的行。 我到目前为止: fgrep -n "Monitor0" </etc/X11/xorg.conf | fgrep "Identifier" | cut -f1 -d: 这给出了我想要传递给sed的行号,但我不确定该怎么做。 ......还是有一种我没见过的简单方法?
1 bash  sed  xargs 


1
在sed中使用表或脚本用转义字符替换许多特殊字符?
如果你想使用sed替换特殊字符,你可以使用不同的方法,但问题是你必须在许多文件中用转义字符替换许多(100+)特殊字符。 所以它需要:(谢谢彼得) ^^ 逃避一个人 ^ ^| 逃离 | \& 逃离 & \/ 逃离 / \\ 逃避 \ 假设在许多文件中有100多个字符串示例: sed.exe -i "s/{\*)(//123/ sed -i "s/\\/123/g;" 1.txt sed.exe -i "s/{\*)(//123/ sed -i "s/\\/123/g;" 1.txt ..... ..... 这些字符串包含许多要转义的特殊字符(我们有100多个字符串).. 手动转义是一项非常漫长的工作。所以我需要创建一个类似于的表脚本 wReplace 在命令提示符中调用转义特殊字符,然后用我的单词替换它们。 我能怎么做?

2
在Debian 7.4上安装Git失败
我试图在Debian 7.4上安装Git(来自源代码),但安装失败并显示以下消息: Writing perl.mak for Git Writing MYMETA.yml * new perl-specific parameters GEN git-add--interactive sed: -e expression #4, char 49: unknown option to `s' make: *** [git-add--interactive] Error 1 我的sed版本是4.2.1,make是3.81。 我不知道现在该做什么,我尝试了Git 1.9.1,1.9.0和1.8.5的来源。 任何想法我还能尝试什么?
1 debian  git  sed 

3
如何搜索文件以匹配整行?
我有一个命令发送到stdout一系列数字,每个数字都在一个新行上。我需要确定列表中是否存在特定数字。匹配需要精确,而不是子集。例如,一种不起作用的简单方法是: /run/command/outputing/numbers | grep -c <numberToSearch> 在搜索'456'时,我的这个版本在以下列表中给出了误报: 1234567 98765 23 1771 如果计数非零,则找到匹配项,或者如果它为零,则该数字不在列表中。 这个问题是numberToSearch可以匹配一行中数字的子序列,而我只想在整行上点击。我查看了grep的手册页,并没有看到任何只匹配整行的方法。有没有办法做到这一点,或者我会更好地使用awk或sed其他工具?我需要一个二进制答案,以确定是否存在要搜索的号码。
1 grep  sed  awk 


2
sed +在每个数字前添加char
我想在每个数字前添加一个“/”,使用sed: echo 1 2 3 4 5 6 7 | sed 's/[ ^]*/&\//g' /1 /2 /3 /4 /5 /6 /7/ 当我使用这种语法时,为什么在7之后得到“/”?如何修复我的sed语法才能得到这个: /1 /2 /3 /4 /5 /6 /7
1 regex  sed 

3
两个非常相似的sed线,它们可以合并吗?
我在shell脚本中有以下两行,并且想知道是否有任何方法可以使用sed将它们压缩成一个。我不确定是否有通配符或任何可以取代Glitch和Chill的字样,但如果有,我想知道。真正重要的是它会删除你看到的奇怪括号中的所有内容,而不会触及任何其他内容。 find . -type f -name '【Chill*' -execdir bash -c 'for file in "$@"; do new=$(echo "$file" | sed -r 's/【Chill.*】//'); mv -v "$file" "$new"; done' _ {} + find . -type f -name '【Glitch*' -execdir bash -c 'for file in "$@"; do new=$(echo "$file" | sed -r 's/【Glitch.*】//'); mv …
1 bash  sed 

2
查找并替换sed中的排除个案
我试图sed在某个模式后添加一个字符串,但我想排除已经存在附加字符串的情况。 例如: "text.txt" Hello Bar Hello world! 如果我使用sed -i -e 's/Hello/Hello world!' text.txt第三行成为 Hello world! world! 但我想保持原样。 我找到了这个相关的问题,但并不是我的文件中的所有行都需要修改。 有人有这方面的食谱吗?
1 linux  bash  sed 

1
命令不在shell上工作但在提示时工作
我是Linux Shell脚本的新手。我想通过Linux Shell脚本更改IP地址,并由PHP Web应用程序调用。 我已经完成了我的PHP Web应用程序和shell脚本。在它们组合在一起工作之前,我想测试Shell脚本是否可以正常运行。 我的Linux Shell脚本将存储7个变量,不包括$ 0(脚本名称): 网络接口文件(/etc/sysconfig/network-scripts/ifcfg-{XXX}) 旧IP地址 新的IP地址 旧子网掩码 新的子网掩码 老门户 新网关 我的PHP应用程序已经执行了大多数检查,因为我是Linux Shell脚本的新手,我不想在我的shell脚本上执行此操作。我的PHP应用程序可以确保数据正确并填充值。 因此,要运行此Shell脚本,请键入以下内容以查看结果: sh ./ipchanger.sh /etc/sysconfig/network-scripts/ens32 192.168.1.18 192.168.1.201 32 24 192.168.1.1 192.168.1.1 含义: 指定目标网络脚本文件。 将IP更改192.168.1.18为192.168.1.201。 将子网掩码更改255.255.255.255为255.255.255.0。 实际上它将运行以下命令: sudo sed -i -r "s/$currentIpAddress/$newIpAddress/g" $fileName sudo sed -i -r "s/$currentSubnetMask/$newSubnetMask/g" $fileName sudo sed -i -r "s/$currentGateway/$newGateway/g" …
1 linux  networking  bash  shell  sed 

4
Sed:删除与模式匹配的所有内容
我在Mac OS X上有一些plist文件,我想缩小。他们有很多<dict>与<key>和值。其中一个键是一个缩略图,其<data>值为base64编码二进制(我认为)。我想删除此密钥和值。 我认为这可能是由sed完成的,但我真的不知道如何使用它,似乎sed只能在逐行的基础上工作? 无论哪种方式,我希望有人可以帮助我。在文件中,我想删除与以下模式匹配的所有内容或接近该模式的内容: <key>Thumbnail<\/key>[^<]*<\/data> 在文件中它看起来像这样: // Other keys and values <key>Thumbnail</key> <data> TU0AKgAAOEi25Pqx3/ip2fak0vOdzPCVxu2RweuPv+mLu+mIt+aGtuaEtOSB ... dCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA= </data> // Other keys and values 谁知道我怎么能这样做?此外,如果有任何更好的工具,我可以在终端中使用,我也想知道这一点:)
1 macos  mac  unix  sed  plist 

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.