-
shell command : grep5
CountPwd=`grep -c "$1" $HODSDATAFILE`
这句话是什么意思啊,grep,-c ,是干什么用的啊
2010年3月29日 18:05
4个答案 按时间排序 按投票排序
-
先看看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
-
-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
-
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
相关推荐
2. 命令替换与命令组:`$(command)`用于捕获命令输出,`{}`用于分组命令。 3. 正则表达式:在匹配和查找文本时使用,增强搜索功能。 4. 错误处理与调试:set命令设置错误检测,trap命令处理信号,echo和echo -n用于...
本资料“Linux-shell-command.rar”聚焦于Linux Shell的运用和运维相关的shell技巧,旨在帮助用户提升Linux环境下的工作效率。 首先,让我们深入了解什么是Linux Shell。Shell是Linux操作系统的用户界面,它提供了...
### Linux命令Shell入门知识点 #### 一、引言与背景 在《Linux命令Shell入门》这一教程中,作者Victor Gedris旨在为初学者提供一个快速而简单的Linux命令Shell使用介绍。该文档假设读者对Linux命令行界面几乎没有...
**Shell命令:** `xargs <command>` **Sed等价命令:** `sed -e ':a' -e '$!N;s/\n//;ta' <file>` **Awk等价命令:** `awk '{printf "%s", $0}END{print}' <file>` - **解释:** 这些命令用于构建命令行参数。`sed`通过...
### Linux与UNIX Shell编程指南知识点概述 #### 第一部分:Shell **第一章:文件安全与权限** - **1.1 文件** - **定义**:Linux/UNIX系统中,一切皆视为文件,包括目录、设备等。 - **1.2 文件类型** - **...
Shell 编程中常用的文件处理命令有 grep、uniq、sort、paste 等。 1. grep 命令 grep 命令用于过滤文件中的内容。例如:grep -v www filename 过滤不包含 www 的行。 2. uniq 命令 uniq 命令用于过滤文件中的...
《The Linux Command Line: A Complete Introduction》这本书通过易懂、短小精悍的章节帮助读者逐步掌握这些技能,克服对命令行的初始恐惧(通常被称作"shell shock"),并发现命令行与计算机沟通的自然和富有表现力...
9. **grep**:在文件中搜索特定字符串。 10. **find**:根据条件查找文件。 11. **sudo**:以管理员权限执行命令。 12. **apt-get**或**yum**:在Debian/Ubuntu和RHEL/CentOS系统中安装软件包。 接下来,我们来谈谈...
### 第二十四章:Shell 脚本 - 正则、grep、sed、awk 三剑客 #### 一、正则表达式及 grep **1. 概述** 正则表达式是一种强大的文本处理工具,它能够帮助用户方便地进行字符串的搜索、替换等操作。在 Linux 系统中...
在IT领域,尤其是在系统管理和自动化任务执行中,Shell脚本是一种强大的工具。它基于命令行解释器,如Bash,提供了一种编写可执行程序的方式。本文将深入探讨标题和描述中提到的“有用的shell函数”,帮助你更好地...
3. 输入/输出重定向:Shell允许将命令的输出重定向到文件或从文件读取输入,例如`command > output.txt`将命令输出保存到output.txt,`command 则从input.txt获取命令输入。 4. 条件语句与循环:`if`、`else`、`...
重定向可改变它们默认指向的位置,如`command > output.txt`将命令输出重定向到文件。 2. 输入/输出重定向操作符:`>`覆盖输出,`>>`追加输出,`读取输入,`|`管道连接命令。 3. Here文档:用于向命令提供多行输入...
去壳管 为了在 go 中运行管道 shell 命令,从单个字符串(在空白处...cmd2 := exec.Command("grep", "usr") cmd3 := exec.Command("awk", "{print $2}") cmds := []*exec.Cmd{cmd1, cmd2, cmd3} pipes.AssemblePipes(cm
1. **命令替换**:`$(command)`捕获命令的输出,如`echo $(date)`显示当前日期。 2. **过程子shell**:`( commands )`在子shell中执行命令,不影响父shell环境。 3. **别名**:创建命令别名,如`alias ll='ls -l'`...
`|`管道符可以把一个命令的输出作为另一个命令的输入,如`ls | grep .txt`查找包含".txt"的文件。重定向`>`和`>>`则可将输出写入文件,覆盖或追加。 5. **通配符**: `*`匹配任意数量的字符,`?`匹配单个字符。如...
- `grep`:搜索文件中包含特定模式的行。 - `find`:在文件系统中查找文件。 4. **Shell脚本编程** Shell脚本是编写的一系列命令,可以执行自动化任务。基本结构包括声明Shebang(#!/bin/bash),变量定义,条件...
- 子shell与命令替换:理解子shell的概念,以及如何使用$(command)进行命令替换。 - 命令别名与函数:创建命令别名简化命令输入,以及自定义函数提高效率。 - 管道与重定向:管道符|用于连接命令,重定向操作符>...
2. 命令替换:`$(command)`或``command``用于获取命令的输出结果。 3. 嵌套命令:可以在括号中嵌套命令,如`(cd /tmp && ls)`。 4. 引号的使用:单引号`' '`和双引号`" "`对字符串有不同的处理方式,单引号内的内容...
### Shell Command知识点详解 #### 一、Shell基础知识与文件操作指令 **1.1 文件操作指令** - **ls**: 用于列出目录中的文件列表。 - 用法:`ls [目录]` - 示例:`ls /Desktop/`(列出Desktop目录下的所有...
command2 ) # 子shell执行完成后返回父shell ``` ### 11. 模式匹配与通配符 * `*` 匹配任意数量的字符 * `?` 匹配任意单个字符 * `[char1-char2]` 匹配指定范围内的任何字符 例如,`ls *.txt` 列出所有.txt文件。...