如何\n使用sed命令替换换行符()?
我没试成功:
sed 's#\n# #g' file
sed 's#^$# #g' file
Run Code Online (Sandbox Code Playgroud)
我如何解决它?
我正在尝试使用sed清理URL行以仅提取域名..
所以来自:
http://www.suepearson.co.uk/product/174/71/3816/
Run Code Online (Sandbox Code Playgroud)
我想要:
(有或没有火车斜线,没关系)
我试过了:
sed 's|\(http:\/\/.*?\/\).*|\1|'
Run Code Online (Sandbox Code Playgroud)
和(逃避非贪婪量词)
sed 's|\(http:\/\/.*\?\/\).*|\1|'
Run Code Online (Sandbox Code Playgroud)
但我似乎无法使非贪婪量词工作,所以它总是最终匹配整个字符串.
可能重复:
如何在文件中搜索多行模式?使用pcregrep
我正在运行a grep来查找任何*.sql文件,select其后跟单词customerName后跟单词from.此select语句可以跨越多行,并且可以包含制表符和换行符.
我在下面尝试了一些变化:
$ grep -liIr --include="*.sql" --exclude-dir="\.svn*" --regexp="select[a-zA-Z0-
9+\n\r]*customerName[a-zA-Z0-9+\n\r]*from"
Run Code Online (Sandbox Code Playgroud)
然而,这只是永远运行.请问有人能帮助我正确的语法吗?
使用GitHub的发布功能,可以提供下载特定版本的已发布软件的链接.但是,每次发布时,都需要更新gh页面.
有没有办法获得任何最新版软件的特定文件的链接?
例如,这将是一个静态链接:
https://github.com/USER/PROJECT/releases/download/v0.0.0/package.zip
我想要的是:
https://github.com/USER/PROJECT/releases/download/latest/package.zip
注意:此问题与GitHub最新版本之间的区别在于此问题 专门要求访问该文件,而不是GitHub最新版本页面
看起来OSX的新版本不再支持grep -P,因此我的一些脚本停止工作.
var1=`grep -o -P '(?<=<st:italic>).*(?=</italic>)' file.txt`
Run Code Online (Sandbox Code Playgroud)
我需要将grep捕获到变量,我需要使用零宽度断言,以及 \K
var2=`grep -P -o '(property:)\K.*\d+(?=end)' file.txt`
Run Code Online (Sandbox Code Playgroud)
任何替代方案将不胜感激.
我需要从像这样的字符串中提取电子邮件地址(我正在创建一个日志解析器):
<some text> from=someuser@somedomain.com, <some text>
与egrep(或grep -Eo).所以字符串只需要在"from="和之间拉出",",因为日志的其他部分也包含电子邮件地址,比如to=和etc
请帮我使用sed.我有一个如下文件.
START=A
xxxxx
xxxxx
END
START=A
xxxxx
xxxxx
END
START=A
xxxxx
xxxxx
END
START=B
xxxxx
xxxxx
END
START=A
xxxxx
xxxxx
END
START=C
xxxxx
xxxxx
END
START=A
xxxxx
xxxxx
END
START=D
xxxxx
xxxxx
END
Run Code Online (Sandbox Code Playgroud)
我想在START = A,END之间得到文本.我使用了以下查询.
sed '/^START=A/, / ^END/!d' input_file
Run Code Online (Sandbox Code Playgroud)
这里的问题是,我得到了
START=A
xxxxx
xxxxx
END
START=D
xxxxx
xxxxx
END
Run Code Online (Sandbox Code Playgroud)
代替
START=A
xxxxx
xxxxx
END
Run Code Online (Sandbox Code Playgroud)
塞德贪婪地发现.
请帮我解决这个问题.
提前致谢.
我可以使用AWK实现上述目标吗?
我有一个名为'plainlinks'的文件,如下所示:
13080. ftp://ftp3.ncdc.noaa.gov/pub/data/noaa/999999-94092-2012.gz
13081. ftp://ftp3.ncdc.noaa.gov/pub/data/noaa/999999-94094-2012.gz
13082. ftp://ftp3.ncdc.noaa.gov/pub/data/noaa/999999-94096-2012.gz
13083. ftp://ftp3.ncdc.noaa.gov/pub/data/noaa/999999-94097-2012.gz
13084. ftp://ftp3.ncdc.noaa.gov/pub/data/noaa/999999-94098-2012.gz
13085. ftp://ftp3.ncdc.noaa.gov/pub/data/noaa/999999-94644-2012.gz
13086. ftp://ftp3.ncdc.noaa.gov/pub/data/noaa/999999-94645-2012.gz
13087. ftp://ftp3.ncdc.noaa.gov/pub/data/noaa/999999-94995-2012.gz
13088. ftp://ftp3.ncdc.noaa.gov/pub/data/noaa/999999-94996-2012.gz
13089. ftp://ftp3.ncdc.noaa.gov/pub/data/noaa/999999-96404-2012.gz
Run Code Online (Sandbox Code Playgroud)
我需要生成如下所示的输出:
999999-94092
999999-94094
999999-94096
999999-94097
999999-94098
999999-94644
999999-94645
999999-94995
999999-94996
999999-96404
Run Code Online (Sandbox Code Playgroud) 输入:
===================================
v2.0.0
Added feature 3
Added feature 4
===================================
v1.0.0
Added feature 1
Added feature 2
===================================
Run Code Online (Sandbox Code Playgroud)
我想要的输出:
v2.0.0
Added feature 3
Added feature 4
Run Code Online (Sandbox Code Playgroud)
我尝试了这个,但是它得到了第一个等于(=)和最后一个等于(=),而我想得到的是第一个等于(=)的两个
我有一个包含以下随机主机的大型电子邮件文件:
......
HOSTS: test-host,host2.domain.com,
host3.domain.com,another-testing-host,host.domain.
com,host.anotherdomain.net,host2.anotherdomain.net,
another-local-host, TEST-HOST
DATE: August 11 2015 9:00
.......
Run Code Online (Sandbox Code Playgroud)
主机总是用逗号分隔,但它们可以分成一行,两行或多行(我无法控制它,不幸的是,它是电子邮件客户端所做的).
所以我需要提取字符串"HOSTS:"和字符串"DATE:"之间的所有文本,将其包装起来,并用新行替换逗号,如下所示:
test-host
host2.domain.com
host3.domain.com
another-testing-host
host.domain.com
host.anotherdomain.net
host2.anotherdomain.net
another-local-host
TEST-HOST
Run Code Online (Sandbox Code Playgroud)
到目前为止,我想出了这个,但是我失去了与"HOSTS"在同一条线上的所有东西:
sed '/HOST/,/DATE/!d;//d' ${file} | tr -d '\n' | sed -E "s/,\s*/\n/g"
Run Code Online (Sandbox Code Playgroud) 给定一个字符串“pos:665181533 pts:11360 t:11.360000crop=720:568:0:4 还有一些词”
是否可以使用 bash 和 grep 在“crop=”和以下空格之间提取字符串?
因此,如果我匹配“crop =”,我如何在它之后和以下空白之前提取任何内容?
基本上,我需要打印“720:568:0:4”。
我正试图从一个包含它们的文件中提取数据/网址(在本例中为someurl),即.
xyz>someurl>xyz
Run Code Online (Sandbox Code Playgroud)
我不介意使用任何一个awk或sed.
我有一个文本没有空格的多行文件.
Thereisacat;whichisverycute.Thereisadog;whichisverycute.
Thereisacat;whichisverycute.Thereisadog;whichisverycute.
Run Code Online (Sandbox Code Playgroud)
我想提取猫和可爱之间的字符串(第一次出现不是第二次),即输出
;whichisvery
;whichisvery
Run Code Online (Sandbox Code Playgroud)
我接近得到它,但我最终得到了从猫到最后可爱的字符串从这里的命令.
sed -e 's/.*cat\(.*\)cute.*/\1/'
Run Code Online (Sandbox Code Playgroud)
我正进入(状态
;whichisverycute.Thereisadog;whichisvery
;whichisverycute.Thereisadog;whichisvery
Run Code Online (Sandbox Code Playgroud)
我如何从cat到第一次出现可爱的文字而不是最后?