Questions tagged «grep»

对于与grep有关的问题,这是一种用于搜索文件中文本模式的命令行工具。对于有关grep本身的问题或因使用grep命令行工具引起的问题,请使用此标签。

2
计算文本文件中单词的出现次数
我有一个包含推文的文本文件,我需要计算推文中提到一个单词的次数。例如,文件包含: Apple iPhone X is going to worth a fortune The iPhone X is Apple's latest flagship iPhone. How will it pit against it's competitors? 假设我想计算文件中提到iPhone一词的次数。这就是我尝试过的。 cut -f 1 Tweet_Data | grep -i "iPhone" | wc -l 它当然可以工作,但是我对UNIX中的“ wc”命令感到困惑。如果尝试以下操作,有什么区别: cut -f 1 Tweet_Data | grep -c "iPhone" 在哪里使用-c代替?在一个充满推文的大文件中,这两种方法都产生不同的结果,我对其工作方式感到困惑。正确的计数方法是哪种?

3
awk和grep cut之间的确切区别是什么?[关闭]
我们知道,可以使用以下两种技术从文件中获得所需行的第二列: awk '/WORD/ { print $2 }' filename 要么 grep WORD filename| cut -f 2 -d ' ' 我的问题是: 上面的两个命令有什么区别? 哪一个表现最好? 使用而awk不是使用的优点是什么cut,反之亦然? 有什么选择可以awk给我们带来cut反过来呢?
30 awk  grep  performance  cut 

3
五彩的Grep
我正在尝试让每个grep命令以不同的颜色突出显示它的结果。我可以用这样的一行手动进行操作: ls -l GREP_COLORS='mt=01;32' grep c | GREP_COLORS='mt=01;31' grep o | GREP_COLORS='mt=01;34' grep n | GREP_COLORS='mt=01;36' grep f 每个c字符将以绿色突出显示,每个o字符将以红色突出显示,等等。 为了使该示例正常工作,您需要确保始终使用 --color=alwaysgrep命令。我已经在我的.bashrc grep中设置了它,所以它将始终具有颜色: export GREP_OPTIONS='--color=always' 我要完成的工作是用别名包装此功能,这样我每次grep都可以调用并具有不同的GREP_COLORS值。我了解为每个新的管道grep考虑多个外壳的问题,并且我试图通过创建一些文件(每种颜色一个)来解决这个问题,以表明它们已被使用。 我做了一些尝试,但奇怪的是,这似乎是“最好的”方法。我在我的.bashrc: alias mg="mygrep" mygrep(){ # define possible colors COLORS=("01;32" "01;31" "01;34" "01;36") COUNTER=0 NUM=0 # as long as the color has already been used, keep …
30 bash  shell  grep  pipe  bashrc 

7
列出文本中包含特定单词的文件
我想递归且唯一地列出包含给定单词的文件。 例子:检查单词“ check”,我通常是grep $ grep check * -R 但是由于这个词的出现次数很多,所以我得到了很多输出。因此,我只需要列出包含给定搜索词的文件名。我猜有些招用find和xargs会在这里就够了,但不知道。 有任何想法吗?
30 find  grep  file-search 


5
防止grep在不匹配的情况下退出
该脚本不回显“ after”: #!/bin/bash -e echo "before" echo "anything" | grep e # it would if I searched for 'y' instead echo "after" exit 如果我删除了-eshebang行上的选项,也可以,但是我希望保留它,以便在出现错误时脚本停止。我不认为grep发现没有匹配项是错误。如何防止它过分退出?

6
管道传输到外壳中的多个文件
我有一个应用程序,该应用程序会产生大量不希望存储到磁盘上的数据。该应用程序主要输出我不希望使用的数据,但是输出的一组有用信息必须拆分为单独的文件。例如,给出以下输出: JUNK JUNK JUNK JUNK A 1 JUNK B 5 C 1 JUNK 我可以这样运行应用程序三遍: ./app | grep A > A.out ./app | grep B > B.out ./app | grep C > C.out 这可以让我得到想要的东西,但是会花费太长时间。我也不想将所有输出转储到单个文件中并通过它进行解析。 有什么方法可以将上面显示的三个操作组合在一起,使我只需要运行一次应用程序,仍然可以获得三个单独的输出文件?
29 bash  shell  grep  pipe 

12
如何“分类”文件并删除注释行?
我想知道是否有一种方法可以cat归档php.ini并删除所有以; 例如,如果文件包含以下内容: ; - Show all errors, except for notices ; ;error_reporting = E_ALL & ~E_NOTICE ; ; - Show only errors ; ;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; ; - Show all errors except for notices ; error_reporting = E_ALL & ~E_NOTICE 然后我运行了正确的命令cat | {remove comments command},那么最终结果是: error_reporting = E_ALL & …

6
如何在每个换行符前添加回车符?
我有一个仅用于\n换行的文件,但我需要\r\n每个换行都有它。我怎样才能做到这一点? 例如,我在Vim中使用来解决了这个问题:%s/\n/\r\n/g,但是我想使用脚本或命令行应用程序。有什么建议么? 我尝试使用sed或进行查找grep,但是我立即对转义序列变通方法感到困惑(这些命令对我有点绿色)。 如果有兴趣,该申请涉及到我的问题/答案在这里
28 sed  grep  newlines 


8
如何列出目录中具有指定扩展名的文件以外的所有文件?
假设我有一个包含.txt,.pdf和其他文件的文件夹。我想列出“其他”文件(即不具有扩展名.txt或.pdf的文件)。您对此有什么建议吗? 我知道如何列出没有给定扩展名的文件。例如,如果我要列出除.txt文件之外的所有文件,则可以 find -not -iname "*.txt" 要么 ls | grep -v '\.txt$' | column 似乎有效。但是,如何列出除.txt文件或 .pdf文件之外的所有内容?看来我需要在findor中使用某种逻辑“或” grep。
28 grep  find  ls 

4
如何“ grep”给定范围内的线长?
注意:此问题是此问答的补充:如何在给定范围内“ grep”表示行长*不是*? 我只需要从长度范围小于或等于3个字符,但不大于或等于10的文本文件(单词列表,用换行符分隔)中获取行。 例: 输入: egyezményét megkíván ki alma kevesen meghatározó 输出: megkíván alma kevesen 问题:我该怎么做bash?
28 bash  sed  grep  perl 

4
如何在grep中使用十六进制代码指定字符?
这个问题是从Stack Overflow 迁移过来的,因为可以在Unix&Linux Stack Exchange上回答。 迁移 8年前。 我正在使用以下命令对十六进制代码0900(而不是अ)到097F(而不是व)的grep字符集范围进行grep。如何使用十六进制代码代替अ和व? bzcat archive.bz2 | grep -v '<[अ-व]*\s' | tr '[:punct:][:blank:][:digit:]' '\n' | uniq | grep -o '^[अ-व]*$' | sort -f | uniq -c | sort -nr | head -50000 | awk '{print "<w f=\""$1"\">"$2"</w>"}' > hindi.xml 我得到以下输出: <w f="399651">और</w> <w f="264423">एक</w> <w f="213707">पर</w> …

8
如何grep-inverse-match和排除“前”和“后”行
考虑一个包含以下条目的文本文件: aaa bbb ccc ddd eee fff ggg hhh iii 给定一个模式(例如fff),我想grep上面的文件以获取输出: all_lines except (pattern_matching_lines U (B lines_before) U (A lines_after)) 例如,如果B = 2和A = 1,则模式=的输出fff应为: aaa bbb ccc hhh iii 如何使用grep或其他命令行工具执行此操作? 请注意,当我尝试: grep -v 'fff' -A1 -B2 file.txt 我没有得到我想要的。我得到: aaa bbb ccc ddd eee fff -- -- fff ggg hhh …

4
文件不包含字符串时如何使用grep
在我的bash脚本中,如果文件中不存在某个字符串,我将尝试打印一行。 if grep -q "$user2" /etc/passwd; then echo "User does exist!!" 如果我希望该字符串存在于文件中,这就是我写的方式,但是如果在/ etc / passwd文件中找不到该用户,该如何更改它以使其显示“用户不存在”?
26 bash  ubuntu  grep 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.