标签: grep

bash 文本处理和错误信息

例如我有这个杀死 Firefox 的脚本

ps x | grep firefox | grep -v grep | awk '{print $1}'| xargs kill -9
Run Code Online (Sandbox Code Playgroud)

但是当没有 Firefox 运行时,它会吐出:

Usage:
  kill pid ...              Send SIGTERM to every process listed.
  kill signal pid ...       Send a signal to every process listed.
  kill -s signal pid ...    Send a signal to every process listed.
  kill -l                   List all signal names.
  kill -L                   List all signal names in a nice table.
  kill -l signal            Convert between signal numbers and names. …
Run Code Online (Sandbox Code Playgroud)

command-line bash grep

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

使用 grep 查找字符串

我试图在 /home/dir/ 下的某处找到一个(应该)包含字符串“1896.345”的文件。

关于如何做到这一点的任何想法?谢谢

grep find

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

grep 得到编译错误

我已经创建了一个简单的 c 程序,并省略了一个 ';' 故意得到一个错误。我想使用grep命令来知道编译是否成功。

我用:

gcc test.c | grep 'error'但输出似乎不对。这是正确的方法吗?

我认为它不起作用,因为这样做:

echo"hello world" | grep "hello"我得到了匹配的彩色文本。

在为编译做 grep 时,没有这样的事情。

错误具有以下形式:

test.c: In function ‘main’:
test.c:8:2: error: expected ‘,’ or ‘;’ before ‘return’
  return 0;
  ^
Run Code Online (Sandbox Code Playgroud)

我使用的程序是:

int main(int argc, char const *argv[]){
    char f[] = "Hello thereeee!" 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

command-line compiling grep

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

使用 grep 打印行号

我想使用 grep 命令打印我正在搜索的字符串的行号。但是,当我使用该命令时,grep -n它会打印带有冒号 : 旁边的行号。有什么办法可以使用相同的grep -n命令来打印行号,后面跟着 : 冒号?

$ grep -n 'Captain' sometextfile.txt
3: Captain America
Run Code Online (Sandbox Code Playgroud)

我希望它改为打印,

3 Captain America
Run Code Online (Sandbox Code Playgroud)

(没有 ':' )

有什么建议??

grep

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

为什么我的 grep -E 命令不适用于包含后视的正则表达式模式?

我有一个适合我的正则表达式。我在以下网站上检查过:https : //www.regex101.com/

(?<=.log:)[^;]*
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试将它与 grep 一起使用时它不起作用。我试图做以下事情:

cat foo.log | grep -E '(?<=.log:)[^;]*'
Run Code Online (Sandbox Code Playgroud)

我知道有匹配项,因为我在此模式之后创建并测试了我的正则表达式。-E 参数也有效,因为正则表达式*.*工作正常。

以下是我的目标文件中的一些示例行:

201407010300.log:2014-07-01 03:00;10.112.64.250;2;1145439;ULC IBM
201407010100.log:2014-07-01 01:00;10.112.64.250;2;1145216;ULC IBM
201407010100.log:2014-07-01 01:00;10.112.64.250;3;968549;ULC Primeline
Run Code Online (Sandbox Code Playgroud)

你有什么建议为什么这不起作用?

regex grep

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

这个 egrep 命令有什么作用?

我运行这个命令

egrep "\" string_demo | wc -l
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

akshay@akshay-K53SC:~/shell$ egrep "\" string_demo | wc -l
> abc
> pqr
> xyz
> 
Run Code Online (Sandbox Code Playgroud)

">" 将继续,直到我按下Ctrl+ D。那么这是什么?

还有grep,egrep和之间的确切区别是什么fgrep

bash grep

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

从文件名中删除重复的点

我有内部已在畸形被评为如吨文件的目录file..txtfile2..txt等...

那么如何轻松地.从文件名中删除这一秒呢?

任何适用的方法都值得赞赏,包括 awk、sed、grep 等...

command-line grep sed awk

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

这个 `ps` 命令是什么意思?

 ps -e | grep -c '^'
Run Code Online (Sandbox Code Playgroud)

不管这意味着我有 166

我迷路了“^”,不记得在哪里看到的

grep ps

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

egrep 命令用于查找以一个字符开头且还包含一些字符串的行

假设我有一个有一些ls -l输出的文件:

waaa- foo.pdf
-bbb- foobar.pdf
-ccc- foobar
waaa- foobar
Run Code Online (Sandbox Code Playgroud)

我只想得到第一行

waaa -foo.pdf
Run Code Online (Sandbox Code Playgroud)

作为最终结果,我正在尝试:

egrep -E "^w" .file | egrep -E "*.pdf"
Run Code Online (Sandbox Code Playgroud)

有没有办法将这两个搜索结合起来?

command-line grep

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

-bash: /usr/bin/grep: 参数列表太长

所以,当我有 500k json 文件时,我不确定如何做 grep?当我有 200k 时它正在工作,但现在似乎我有太多文件。grep 或任何可以完成任务的东西?

[jalal@ivcgpu1 tweets]$ grep -wirnE 'Wed Oct 19 2(1:[0-5][0-9]:[0-5][0-9]|2:([0-2][0-9]:[0-5][0-9]|30:00)) .* 2016' *
-bash: /usr/bin/grep: Argument list too long
[jalal@ivcgpu1 tweets]$ ls -1 | wc -l
554472
Run Code Online (Sandbox Code Playgroud)

grep

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

标签 统计

grep ×10

command-line ×4

bash ×2

awk ×1

compiling ×1

find ×1

ps ×1

regex ×1

sed ×1