我有这些行的文件
G8 = P(G1,G3)
G9 = P(G3,G4)
G12 = P(G2,G9)
G15 = P(G9,G5)
G16 = P(G8,G12)
G17 = P(G12,G15)
Run Code Online (Sandbox Code Playgroud)
我需要输出为
G1,G3
G3,G4
.....
Run Code Online (Sandbox Code Playgroud)
如何使用 sed/grep 命令或使用 perl 来完成?
使用 Bash,
文件:
<?xml version="1.0" encoding="UTF-8"?>
<blah>
<blah1 path="er" name="andy" remote="origin" branch="master" tag="true" />
<blah1 path="er/er1" name="Roger" remote="origin" branch="childbranch" tag="true" />
<blah1 path="er/er2" name="Steven" remote="origin" branch="master" tag="true" />
</blah>
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
grep -i 'name="andy" remote="origin" branch=".*\"' <filename>
Run Code Online (Sandbox Code Playgroud)
但它返回整行:
<blah1 path="er" name="andy" remote="origin" branch="master" tag="true" />
Run Code Online (Sandbox Code Playgroud)
我想根据以下内容匹配该行:
name="andy"
Run Code Online (Sandbox Code Playgroud)
我只想让它返回:
master
Run Code Online (Sandbox Code Playgroud) 在这个答案中,我有一些代码如下:
if [[ $ZSH_VERSION ]]; then
Run Code Online (Sandbox Code Playgroud)
这被编辑为:
if [[ -n $ZSH_VERSION ]]; then
Run Code Online (Sandbox Code Playgroud)
更新:我刚看到编辑评论:
[[ x ]] 直到最近才在 zsh 中工作
我查看了zsh发行说明,但找不到对此的参考。
zsh首先允许哪个版本[[ x ]]?
在 Linux(我使用 CentOS 7)中,有一个内置功能可以查看所有可运行的命令。该命令通过在控制台中按两次 Tab 键然后出现提示来运行:
Display all 1130 possibilities? (y or n)
Run Code Online (Sandbox Code Playgroud)
按下y会向控制台输出大量命令。
有没有办法在文件中捕获这个输出?
或者这个列表是否已经存储在本地?如果是这样,我如何访问它?
我正在尝试使用 Bash 的内置正则表达式函数仅匹配 HTML 标签中包含的文本:
string='<span class="circle"> </span>foo</span></span>'
regex='<span class="circle"> </span>(.+?)</span>'
[[ $string =~ $regex ]]
echo "${BASH_REMATCH[1]}"
Run Code Online (Sandbox Code Playgroud)
但比赛不断捕获foo</span>。
互联网上充斥着 sed 和 grep 的例子,我在 Bash 自己的正则表达式上找不到太多文档。
append:将值附加到变量的当前值集。这可以与--prepend一起使用来同时追加和前置。
prepend:将值添加到变量当前值集的前面。这可以与--append一起使用以同时追加和前置。
在日常英语中,append是添加的意思,prepend是在开头添加的意思。显然,这些含义不适用于鱼(或一般的计算机?),因为说我们既可以将x 添加到 y,同时也可以将 x 添加到 y 的开头,这是多余的。如果我们能做到后者,那么我们就能做到前者。也就是说,通过做后者,我们就做了前者。如果说我既从起跑线开始比赛又参加比赛是没有意义的,那么说我既在前面添加一些数据又在附加该数据也是没有意义的。
那么,这些术语对钓鱼(或在软件开发领域)意味着什么?做其中一项而不是另一项会有什么影响?明确地同时执行这两项操作意味着什么?