标签: grep

如何删除以某些字符串开头的行

有没有办法删除以某些字符串开头的行。

我有这个 youtube-dl 代码

youtube-dl --extract-audio --audio-quality 0 --newline --audio-format mp3 https://www.youtube.com/playlist?list=PL1C815DB73EC2678E
Run Code Online (Sandbox Code Playgroud)

它的结果是这样的

[youtube:playlist] PL1C815DB73EC2678E: Downloading webpage
[download] Downloading playlist: Less than 1 minute
[youtube:playlist] playlist Less than 1 minute: Collected 4 video ids (downloading 4 of them)
[download] Downloading video 1 of 4
[youtube] KNLwsqzFfNg: Downloading webpage
[youtube] KNLwsqzFfNg: Extracting video information
[youtube] KNLwsqzFfNg: Downloading DASH manifest
[download] Destination: _1 min. - Amendes pour les particules du LHC-KNLwsqzFfNg.m4a

[download]   0.4% of 231.51KiB at  6.10KiB/s ETA 00:30
[download]   1.1% of …
Run Code Online (Sandbox Code Playgroud)

command-line grep sed awk youtube-dl

12
推荐指数
2
解决办法
3万
查看次数

使用 grep/sed/awk 从字符串中提取单词

我有一个字符串

00:28:04 /usr/lib/jvm/jre/bin/java -DJDBC_CONNECTION_STRING= -Dspring.profiles.active=qa -XX:MaxPermSize=256
Run Code Online (Sandbox Code Playgroud)

并要提取的词qa后面-Dspring.profiles.active

我将字符串保存在一个文件 text.txt 中,只是为了演示它。

当我做

grep -r -o "spring.profiles.active=" text.txt
Run Code Online (Sandbox Code Playgroud)

结果是 spring.profiles.active=

这个词并不总是qa,它可能是proddev

我想做的是找到这个词spring.profiles.active然后=提取那个词之后。

我想为此编写 shell 脚本,因为我使用这个来配置服务器上的其他项目。

这可能吗,如果可以,我该怎么做。

command-line bash grep sed awk

12
推荐指数
1
解决办法
10万
查看次数

grep 返回匹配前后的第 N 行和第 M 行

我知道使用 grep 我可以使用字段-A-B从匹配中提取上一行和下一行。

但是,他们根据指定的行数在匹配之间拉入所有行。

grep -r -i -B 5 -A 5 "match" 
Run Code Online (Sandbox Code Playgroud)

我想只收到5在比赛之前线和5线的比赛,除了匹配的行之后,并没有得到之间的界线。

有没有办法做到这一点grep

command-line grep awk

12
推荐指数
5
解决办法
8322
查看次数

在匹配前显示所有行

我想在匹配之前显示所有行,例如不仅是 10、7 或 14 行,如如何在 bash 中的 grep 结果之前/之后获取行中所述?.

我该怎么做?是否包含匹配的行并不重要。

例如,而不是:

... | grep -B 10 -- "foo"
Run Code Online (Sandbox Code Playgroud)

我想要:

... | grep -B -- "foo"
Run Code Online (Sandbox Code Playgroud)

但是这最后的代码不起作用。

command-line grep text-processing

12
推荐指数
3
解决办法
3221
查看次数

您如何计算当前目录中所有文件中术语的每次出现?

您如何计算当前目录中所有文件中术语的每次出现?- 和子目录(?)

我已经读过要做到这一点,你会使用grep;确切的命令是什么?

另外,是否可以使用其他一些命令进行上述操作?

command-line files directory grep

10
推荐指数
2
解决办法
6861
查看次数

如何在大文本文件中使用grep/sed从日期范围获取文本?

我有大文件文本(几乎 3GB) - 它是一个日志文件。我想从这个文件中获取与一系列日期相对应的文本行,从 7 月 13 日到 7 月 19 日。我的日志格式是:

2016-07-12 < ?xml version>
2016-07-13 < ?xml version>
2016-07-18 < ?xml version>
2016-07-18 < ?xml version>
2016-07-19 < ?xml version>
2016-07-20 < ?xml version>
sample text sample text
sample text sample text
sample text sample text
2016-07-20 < ?xml version>
sample text sample text
2016-07-20 < ?xml version>
Run Code Online (Sandbox Code Playgroud)

所以在grep/sed之后应该是这样输出的:

2016-07-13 < ?xml version>
2016-07-18 < ?xml version>
2016-07-18 < ?xml version>
2016-07-19 < ?xml …
Run Code Online (Sandbox Code Playgroud)

command-line grep sed

10
推荐指数
3
解决办法
8万
查看次数

“ps -ef|grep 进程名”是什么意思?

我想确切地知道这个特定命令是什么

ps -ef|grep processname
Run Code Online (Sandbox Code Playgroud)

手段和它是如何工作的。我知道这应该与processname我们要搜索的内容相关联,但我没有得到前缀部分;做什么-ef|(管道)做什么以及-ef|grep作为一个整体是如何工作的。在谷歌上搜索了一下,我发现grep它用于搜索目的,但我很想简单解释一下这个命令设置的工作原理。

command-line grep ps

10
推荐指数
1
解决办法
11万
查看次数

用于 *.odt 或 *.doc 文件中的文本的 grep?

如何在 Ubuntu 中搜索包含特定文本的 *.odt 或 *.doc 文件?

我使用grep -rl <text to search for>,但这仅适用于文本文件。

注意:使用 grep(例如 searchmonkey)的解决方案将不起作用,因为 *.doc 或 *.odt 文件具有特殊格式。

如何在文件夹中的文件中搜索字符串?

  • Recoll 想索引我的主目录,但我想在特定目录中搜​​索 *.odt 文件;我不知道如何用这个工具做到这一点。
  • Searchmonkey 似乎是 grep 的 GUI,正如我所提到的,grep 不适用于 *.doc 或 *.odt 文件。
  • Regexxer 也有同样的问题。

搜索 ODT 文档而不打开它们?

  • 像 Recoll 一样,我不知道如何使用此工具在特定目录中搜​​索 *.odt 文件。

libreoffice grep

10
推荐指数
1
解决办法
8905
查看次数

将 grep 输出限制为短行

我经常使用 grep 来查找具有如下特定条目的文件:

grep -R 'MyClassName'
Run Code Online (Sandbox Code Playgroud)

好消息是它返回文件、它们的内容并将找到的字符串标记为红色。不好的是,我也有很大的文件,其中整个文本都写在一个大的单行中。现在,在这些大文件中查找文本时,grep 输出过多。有没有办法将输出限制为左侧和右侧的 5 个单词?或者将输出限制为左右各 30 个字母?

command-line grep text-processing

10
推荐指数
1
解决办法
7922
查看次数

鉴于 grep -n 的结果,如何在该特定行中打开 vim?(仅使用键盘)

当我运行grep "keyword" -n并获得以下结果列表时:

a/b/c:10:    keyword
a/b/c:70:    keyword
a/b/d:50:    keyword
Run Code Online (Sandbox Code Playgroud)

如何打开找到的行中的文件之一(比如列表中的第二个)?

我现在只需使用鼠标复制输出,然后复制它vim,然后添加+我复制的行号。(这意味着我vim a/b/c +70使用鼠标副本来获取文件名,并使用另一个鼠标副本来获取行号[或者我只是手动复制它,当它足够短时])

有没有办法用键盘快捷键来做到这一点?

vim command-line grep

10
推荐指数
1
解决办法
1791
查看次数

标签 统计

grep ×10

command-line ×9

awk ×3

sed ×3

text-processing ×2

bash ×1

directory ×1

files ×1

libreoffice ×1

ps ×1

vim ×1

youtube-dl ×1