使用regexp字符串,如何删除包含匹配的第一行之前的所有行?例如,我如何才能改变这一点:
lost
load
linux
loan
linux
这方面:
linux
loan
linux
我试过:
echo "lost
load
linux
loan
linux" | sed -e 's/.*^li.*$//g'
但是它返回这个,而不是改变任何东西:
lost
load
linux
loan
linux
我想让它工作,这样当没有匹配的时候,它就不会输出任何东西。
在Linux中,我有一个程序,当它经过一定数量的迭代时,它会稍微更改坐标列表。我可以使用grep -c来计算迭代次数,并且我想从该程序的输出中获取最后一组标签和坐标。
我的源文件看起来像这样:
text
total number of objects with coordinates = n
text
begin coordinates
label1 x1 y1 z1
label2 x2 y2 z2
...
labeln xn yn zn
end coordinates
text
text
begin coordinates
label1 a1 b1 c1
label2 a2 b2 c2
..
我正在尝试写一个命令,它将获得每个平台的最后一个数字,并将它们相加,然后将该数字保存为变量。例如,对于下面随机文件中的"AIX“,我希望能够提取1和115,并将116保存为变量。然后,对于"Linx“,我想保存2、16、18、96和1,并将和保存为另一个变量。
cat randomfile.txt:
AIX,5.5.3-0,1
AIX,6.2.1-0,115
Linux x86-64,6.4.0-0,2
Linux x86-64,6.4.0-1,16
Linux x86-64,7.1.2-0,18
Linux86,6.1.3-4,96
Linux86,6.2.5-0,1
我能
以前从未在Linux上使用过awk,我正试图了解它是如何匹配正则表达式的。例如,在过去,根据我的经验,正则表达式/2/将匹配以下所有行中的2。
这将匹配2这将不匹配2
现在,如果我运行包含以下内容的命令awk '{if(NR~2)print}' sample.txt
2将匹配,这将不匹配22可能匹配
匹配的行是This will not match 2,它表示它与第2行匹配,因为如果我用awk '{if(NR~3)print}' sample.txt替换命令,它将匹配2 may be matched。现在,如果我还运行命令awk '{if(NR~/^2$
我使用过的典型tsv文件片段
10 Interstellar Main Theme Extended UDVtMYqUAyw
11 Journey XvG78AmBLc4
12 Jurassic Park Music & Ambience Amazing Soundscapes and Music PPl__iyIg6w
13 Lord of the Rings Sound of The Shire chLZQtCold8
14 Lord of the Rings The Shire: Sunset at Bag End uBmbI8dzc-M
在
我需要在shell脚本中使用echo和grep。我能用吗?
我试过了,但不正确:
echo Linux: grep "Linux" ~/workspace/ep-exercicios/m1/e2/intro-linux.html | wc -w
我需要显示消息:
Linux: (number of Linux word on the document).
示例:
Linux: 945
输入:
START
OS:: UNIX
Release: xxx
Version: xxx
END
Description about UNIX
<Multiline>
START
OS:: LINUX
Release: xxx
Version: xxx
END
Description about LINUX
<Multiline>
START
OS:: Windows
Release: xxx
Version: xxx
END
Description about Windows
<Multiline>
在这里,我试图获得所有的信息之间的开始和结
我正在运行一个(相当最近的)基于Debian的发行版。
我想要生成一个与特定模式匹配的所有已安装软件包的简单列表。我可以通过跑步,比如说,
apt list --installed "linux-image-*" | cut -d/ -f1
但我有我不关心的台词,例如:
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Listing...
所以也许我最好不要使用apt。我可以像这样运行dpkg查询:
dpkg-query --showformat='${Pa
通常,通常需要找到一个文件,它的名称应该同时包含多个子字符串。我怎么才能和bash一起做呢?
例如," boost“、" qt”和"linux“在一个名为”如何链接linux.htm下的qt“的文件中。
P.S .最后,我通过以下方法找到了该文件:
find . -name *boost* | xargs find . -name *Qt*
但首先,它发出了这样的抱怨:
xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option
fi