0 0

shell command : grep5

CountPwd=`grep -c "$1" $HODSDATAFILE`
这句话是什么意思啊,grep,-c ,是干什么用的啊

2010年3月29日 18:05

4个答案 按时间排序 按投票排序

0 0

采纳的答案

grep -c 就是不显示内容,只打印行的数目

纠正一下措辞

2010年3月29日 18:17
0 0

先看看grep怎么用的。
============================================
[Linux初窥]grep

-- print lines matching a pattern (将符合样式的该行列出)
grep -- print lines matching a pattern (将符合样式的该行列出)

◎语法: grep [options] PATTERN [FILE...]

grep用以在file内文中比对相对应的部分,或是当没有指定档案时,
由标准输入中去比对。 在预设的情况下,grep会将符合样式的那一行列出。

===================================
再看看选项(options)怎么用的,

-c, --count
     不显示符合样式行,只显示符合的总行数。
==========================================
最后看看

引用
"$1" $HODSDATAFILE`


了解这个,需了解shell编程,shell是怎么使用已经定义的变量的?是这样的,

   shell中使通过$这个dollar符号来引用变量的
而在这里,"$1"是什么意思呢?
   这类似向java程序传参数一下,在java中使用args[0],args[1]这样获取参数,
shell中使用位置变量参数

引用
在向脚本传递参数时,可以使用此位置变量来获取参数。
他们分别是:
$0:脚本名字。此变量包含地址,可以使用basename $0获得脚本名称。
$1:第一个参数
$2,$3,$4,$5,...一次类推。


$HODSDATAFILE 这个就是引用一个常量,该常量为某一文件名。

2010年3月29日 22:31
0 0

-c,–count
只打印匹配的行数,不显示匹配的内容。



http://www.juyimeng.com/grep-usage-tips.html

5. Grep命令选项
-?
同时显示匹配行上下的?行,如:grep -2 pattern filename同时显示匹配行的上下2行。
-b,–byte-offset
打印匹配行前面打印该行所在的块号码。
-c,–count
只打印匹配的行数,不显示匹配的内容。
-f File,–file=File
从文件中提取模板。空文件中包含0个模板,所以什么都不匹配。
-h,–no-filename
当搜索多个文件时,不显示匹配文件名前缀。
-i,–ignore-case
忽略大小写差别。
-q,–quiet
取消显示,只返回退出状态。0则表示找到了匹配的行。
-l,–files-with-matches
打印匹配模板的文件清单。
-L,–files-without-match
打印不匹配模板的文件清单。
-n,–line-number
在匹配的行前面打印行号。
-s,–silent
不显示关于不存在或者无法读取文件的错误信息。
-v,–revert-match
反检索,只显示不匹配的行。
-w,–word-regexp
如果被\<和\>引用,就把表达式做为一个单词搜索。
-V,–version
显示软件版本信息。

2010年3月29日 22:17
0 0

grep 是用来从文件中搜索匹配行的。

比如你的文件名为filename,文件内容为:
aaa bbb safsad
asdf aaa sadf
asdfasdf

那么你用命令
grep "aaa" filename
就会得到前两行的内容
aaa bbb safsad
asdf aaa sadf


grep -c 就是不显示内容,只打印行号
那么
grep -c "aaa" filename
就会得到2

你提供的命令:
"$1" $HODSDATAFILE都是变量。




2010年3月29日 18:16

相关推荐

    Shell脚本速查手册.zip

    2. 命令替换与命令组:`$(command)`用于捕获命令输出,`{}`用于分组命令。 3. 正则表达式:在匹配和查找文本时使用,增强搜索功能。 4. 错误处理与调试:set命令设置错误检测,trap命令处理信号,echo和echo -n用于...

    Linux-shell-command.rar_linux shell 运维_运维 shell

    本资料“Linux-shell-command.rar”聚焦于Linux Shell的运用和运维相关的shell技巧,旨在帮助用户提升Linux环境下的工作效率。 首先,让我们深入了解什么是Linux Shell。Shell是Linux操作系统的用户界面,它提供了...

    An Introduction to the Linux Command Shell For Beginners

    ### Linux命令Shell入门知识点 #### 一、引言与背景 在《Linux命令Shell入门》这一教程中,作者Victor Gedris旨在为初学者提供一个快速而简单的Linux命令Shell使用介绍。该文档假设读者对Linux命令行界面几乎没有...

    shell中常见命令与awk,sed的等价命令

    **Shell命令:** `xargs &lt;command&gt;` **Sed等价命令:** `sed -e ':a' -e '$!N;s/\n//;ta' &lt;file&gt;` **Awk等价命令:** `awk '{printf "%s", $0}END{print}' &lt;file&gt;` - **解释:** 这些命令用于构建命令行参数。`sed`通过...

    LINUX与UNIX SHELL编程指南

    ### Linux与UNIX Shell编程指南知识点概述 #### 第一部分:Shell **第一章:文件安全与权限** - **1.1 文件** - **定义**:Linux/UNIX系统中,一切皆视为文件,包括目录、设备等。 - **1.2 文件类型** - **...

    Shell 常用的一些语句

    Shell 编程中常用的文件处理命令有 grep、uniq、sort、paste 等。 1. grep 命令 grep 命令用于过滤文件中的内容。例如:grep -v www filename 过滤不包含 www 的行。 2. uniq 命令 uniq 命令用于过滤文件中的...

    The Linux Command Line A Complete Introduction

    《The Linux Command Line: A Complete Introduction》这本书通过易懂、短小精悍的章节帮助读者逐步掌握这些技能,克服对命令行的初始恐惧(通常被称作"shell shock"),并发现命令行与计算机沟通的自然和富有表现力...

    linux command & shell

    9. **grep**:在文件中搜索特定字符串。 10. **find**:根据条件查找文件。 11. **sudo**:以管理员权限执行命令。 12. **apt-get**或**yum**:在Debian/Ubuntu和RHEL/CentOS系统中安装软件包。 接下来,我们来谈谈...

    第二十四章:shell脚本-正则、grep、sed、awk三剑客1

    ### 第二十四章:Shell 脚本 - 正则、grep、sed、awk 三剑客 #### 一、正则表达式及 grep **1. 概述** 正则表达式是一种强大的文本处理工具,它能够帮助用户方便地进行字符串的搜索、替换等操作。在 Linux 系统中...

    有用的shell函数:一些shell脚本常用函数

    在IT领域,尤其是在系统管理和自动化任务执行中,Shell脚本是一种强大的工具。它基于命令行解释器,如Bash,提供了一种编写可执行程序的方式。本文将深入探讨标题和描述中提到的“有用的shell函数”,帮助你更好地...

    shell programming

    3. 输入/输出重定向:Shell允许将命令的输出重定向到文件或从文件读取输入,例如`command &gt; output.txt`将命令输出保存到output.txt,`command 则从input.txt获取命令输入。 4. 条件语句与循环:`if`、`else`、`...

    Shell脚本专家指南.zip

    重定向可改变它们默认指向的位置,如`command &gt; output.txt`将命令输出重定向到文件。 2. 输入/输出重定向操作符:`&gt;`覆盖输出,`&gt;&gt;`追加输出,`读取输入,`|`管道连接命令。 3. Here文档:用于向命令提供多行输入...

    go-shell-pipes:增强的 exec.Command 支持 shell 管道

    去壳管 为了在 go 中运行管道 shell 命令,从单个字符串(在空白处...cmd2 := exec.Command("grep", "usr") cmd3 := exec.Command("awk", "{print $2}") cmds := []*exec.Cmd{cmd1, cmd2, cmd3} pipes.AssemblePipes(cm

    实践大师:Unix Shell编程篇

    1. **命令替换**:`$(command)`捕获命令的输出,如`echo $(date)`显示当前日期。 2. **过程子shell**:`( commands )`在子shell中执行命令,不影响父shell环境。 3. **别名**:创建命令别名,如`alias ll='ls -l'`...

    shell技巧:简单的bash技巧,使您的生活更轻松

    `|`管道符可以把一个命令的输出作为另一个命令的输入,如`ls | grep .txt`查找包含".txt"的文件。重定向`&gt;`和`&gt;&gt;`则可将输出写入文件,覆盖或追加。 5. **通配符**: `*`匹配任意数量的字符,`?`匹配单个字符。如...

    Shell基础——Shell入门资料

    - `grep`:搜索文件中包含特定模式的行。 - `find`:在文件系统中查找文件。 4. **Shell脚本编程** Shell脚本是编写的一系列命令,可以执行自动化任务。基本结构包括声明Shebang(#!/bin/bash),变量定义,条件...

    Shell编程大全 高清PDF版

    - 子shell与命令替换:理解子shell的概念,以及如何使用$(command)进行命令替换。 - 命令别名与函数:创建命令别名简化命令输入,以及自定义函数提高效率。 - 管道与重定向:管道符|用于连接命令,重定向操作符&gt;...

    Linux Shell 参考文档

    2. 命令替换:`$(command)`或``command``用于获取命令的输出结果。 3. 嵌套命令:可以在括号中嵌套命令,如`(cd /tmp && ls)`。 4. 引号的使用:单引号`' '`和双引号`" "`对字符串有不同的处理方式,单引号内的内容...

    shell_command.txt

    ### Shell Command知识点详解 #### 一、Shell基础知识与文件操作指令 **1.1 文件操作指令** - **ls**: 用于列出目录中的文件列表。 - 用法:`ls [目录]` - 示例:`ls /Desktop/`(列出Desktop目录下的所有...

    shell基础入门教程

    command2 ) # 子shell执行完成后返回父shell ``` ### 11. 模式匹配与通配符 * `*` 匹配任意数量的字符 * `?` 匹配任意单个字符 * `[char1-char2]` 匹配指定范围内的任何字符 例如,`ls *.txt` 列出所有.txt文件。...

Global site tag (gtag.js) - Google Analytics