如何在sed命令中仅替换特定值
例如,
Linux system
Windows syste
Mac syste
我试过这个命令
sed /system/system/g‘file.txt
safwanpaloli@hello:~/linx$ sed 's/syste/system/g' new.txt
Linux systemm
Windows system
Mac system
我预期的结果
Linux system
Windows system
Mac system
我的任务是“使用bash脚本和命令行工具,实现以下功能:您创建的脚本应该像这样运行:它应该处理目录中的*.txt文件。这个过程包括以下步骤: 1.使所有字母表小写2.删除所有xml/html标记3.替换文本文件4中的所有缩略词。将所有数字转换为单词提示:--您可以使用sed命令。”
📷
如图所示,我已经编写了代码。实际上,我对linux非常陌生,所以我必须搜索不同的命令才能完成这一任务。但是,按照分配的要求,输出实际上应该创建另一个文件,并在新文件上写入修改后的内容(在应用的4个进程之后),而不是单独在终端上打印每个操作。
代码:
#1. Converts all text inside fi
#!/bin/sed -f
s/","/|/g; # global change of "," to bar
# do some more stuff
#s/|/","/g; # global change of bar back to ","
#---end of script---
上面的脚本从CSV中删除第二个字段,并清除引号等。我没有包括大部分脚本,因为它与问题无关。
该脚本保存在文件fix.sh中。
我可以像这样在一个文件上运行它:
$ ./fix.sh
我只需要替换选定的250个erlang文件(扩展名为.erl)的前4个标题行,但directory+subdirectories中总共有400个erlang文件,我需要避免修改不需要更改的文件。我有要修改的文件名列表,但不知道如何让我的linux命令使用它们。
sed -i '1s#.*#%% This Source Code Form is subject to the terms of the Mozilla Public#' *.erl
sed -i '2s#.*#%% License, v. 2.0. If a copy of the MPL was not d
每当我启动apache server(安装在EC2上)时,它都会显示带有"Amazon Linux AMI test Page“标题的测试页面。我想用类似于"Linux AMI - Started“这样的东西来更改措辞。(注意:我不想用我的文本替换整个页面,我想要相同的页面,但标题是"Linux AMI - Started“,而不是"Amazon Linux AMI Test Page”。我在下面试过了,但不幸的是它不起作用。
sed /Amazon Linux AMI测试页/Linux AMI - Started/g‘/var/wwww/html/index.
我有一个与linux中的文本选择和替换有关的简单查询。我使用的是sed命令。我有以下案文:
你好世界,我只是简单的文字展示。
现在我想打印到"hello world“,只有我可以在linux中使用下面的命令来完成它。
echo "hello world, I am just simple text for display." | sed 's/, I am.*//g'
现在,我想要完全相反的这个函数,如何通过使用一个简单的命令(如sed )来删除"hello“。
所需产出:
,我只是简单的文字展示。
我更喜欢使用linux命令(sed等)。
我正在清理存储在文本文件中的数据。每一行的开头都是一个类别标签,后面跟着我想要清理的实际数据。在不同的子文件夹中有许多文本文件,所以我使用egrep将文件名传递给sed。
CON: the Unix and Linux question
SEM: eins, the zwei, drei
AUTH: , the
AFF: The holy seat
TTITLE: As we go, the Kuckuck comes too
现在,在以(SEM|AFF|CON)开头的每一行中,当(T|t)he[ ]*跟随(:|\,)时,我想替换它。也就是说,数据应该稍后看起来像
CON: Unix and
我正在尝试创建一系列跨平台的SED替换(Linux和MacOS)。我在MacOS上得到了两个错误,因为下面的两个SED命令在Linux中的bash下工作得很好。我需要改变什么,以使他们接受BSD风格的SED?
注意:在下面的每个命令中,$sed_regex_sym被-r替换为Linux,-E替换为macOS。
sed -$sed_regex_sym "/.*[*]/!{/.*[|]{1}/s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]([_|\\\/])\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]/\3/g}"