#!/bin/bash
echo -e "\nThis is a program to find the file in special directory
which include keyword!\n\n"
if [ "$1" == "" ]; then
echo -e
"Please input the keyword behind the $0\.\n\n"
exit 0
fi
keyword=$1
dir=.
if [ "$2" != "" ]; then
dir=$2
fi
test ! -d $dir && echo -e "The $dir
is not exist in your system\.\n\n"
&& exit 0
count=0
filelist=`ls -R $dir 2> /dev/null | grep -v
'^$'`
for filename in $filelist
do
temp=`echo
$filename | sed 's/:.*$//g'`
if [
"$filename" != "$temp" ]; then
curdir=$temp
#echo "current dir = $curdir"
else
filetype=`file $curdir/$filename | grep
"text"`
if [ "$filetype" != "" ]; then
temp=`grep $keyword $curdir/$filename
2> /dev/null`
#echo $curdir/$filename
if [ "$temp" != "" ]; then
echo $curdir/$filename
count=$(($count+1))
fi
fi
fi
done
echo -e "\n\nTotal: $count"
echo -e "Done"
文件保存为myfind.sh
执行:chmod u+x myfind.sh
例如:
myfind.sh cs /home/zk
在/home/zk目录下查找包含cs的字符
分享到:
相关推荐
这篇博客“shell批量处理字符串指令行”可能探讨了如何利用shell的特性来处理字符串,包括查找、替换、截取等操作。 首先,让我们了解一些基本的shell字符串处理命令: 1. **变量赋值**:在shell中,我们可以通过`...
在IT领域,尤其是在系统管理和自动化任务中,Shell脚本经常被用来处理文本数据,包括查找字符串中的特定字符或模式。本文将深入探讨如何使用Shell脚本实现查找字符串中某字符最后出现的位置,以及一个简单的C语言...
在Shell编程中,字符串处理是一项重要的技能,尤其是在Linux环境下。本文将深入探讨几种高效的字符串处理技术,并通过实际示例展示这些技巧的应用场景。 #### 字符串截断 Shell提供了多种方法来截断字符串。其中,...
例如,如果我们要在文件"example.txt"中查找字符串"hello",可以使用以下命令: ```shell find "hello" example.txt ``` 如果要用`findstr`命令,可以这样: ```shell findstr "hello" example.txt ``` **2. `find`...
需要注意的是,如果要在多个文件中进行批量替换,你可能需要将上述代码封装到一个循环或递归函数中,遍历指定目录下的所有文件。同时,为了防止意外覆盖,可以考虑先备份原始文件,或者将替换后的内容写入新的文件。...
Linux Shell 编程基础教程 本资源为 Linux Shell 编程基础教程,涵盖了 Linux Shell 编程的基础知识,包括语法基本介绍...这些命令可以帮助我们在 Shell 脚本中完成各种任务,例如文件操作、字符串处理、数学运算等。
+ `grep`:在文件搜索字符串 + `cut`:指定欲显示的文件容围 + `cat`:输出文件容到标准输出设备 + `file`:得到文件类型 + `read`:提示用户输入,并将输入赋值给变量 + `sort`:对文件中的行进行排序 + `...
这个函数接收一个字符串参数,该字符串包含要执行的命令,然后返回一个整数值,表示命令的退出状态。例如: ```cpp #include int result = system("ls -l"); ``` 上述代码会执行`ls -l`命令,列出当前目录下的...
(1)字符串参数最好采用是双引号括,一是以防被误解为shell命令,二是可以用来查找多个单词组成的字符串 -c:只输出匹配行的记数 -i:不区分大小写(只适用于单个字符) -h:查询多个文件时不显示文件名 -H:只显示...
其中,`grep` 命令用于查找包含指定字符串的文件,`awk` 命令用于提取文件名,`sort` 命令用于排序,`uniq` 命令用于去重,`xargs` 命令将结果传递给 sed 命令,`sed -i` 命令将执行字符串替换操作。 例如,要将...
**Linux下的Shell编程** Shell编程是Linux系统中的一个重要部分,它是一种命令行接口,允许用户与操作系统进行交互,执行各种任务。Shell不仅用于执行单个命令,还可以通过编写脚本来自动化复杂的任务,大大提高...
在Linux和Unix环境中,BASH(Bourne-Again SHell)是默认的命令行解释器,广泛用于脚本编程和日常任务自动化。字符串处理是BASH编程中的重要组成部分,它允许用户对文本数据进行操作,包括截取、替换、比较等。这篇...
本文将详细介绍如何在Linux shell中进行字符串的操作,包括获取字符串长度、字符串的查找与替换等功能,并提供具体的示例以便读者更好地理解和掌握这些技巧。 #### 一、字符串的基本操作 ##### 1. 判断和读取字符...
例如,要在目录`dir`下查找包含字符串`str`的文件,可以使用以下命令: ``` find dir | xargs grep str ``` 如果要针对单个文件`file`进行搜索,命令变为: ``` find file | xargs grep str ``` 2. **直接...
在修改JSON字段的场景中,sed可以查找并替换特定的字符串,而无需打开或修改原始文件。 下面是一个基本的shell脚本示例,演示如何使用awk和sed修改JSON文件中的某个字段值: ```bash #!/bin/bash # 定义要修改的...
Linux下常见的Shell类型包括: - **Bourne Shell (sh)**:由Steve Bourne开发,是最原始的一种Shell。 - **C Shell (csh)**:设计上模仿了C语言的语法。 - **Korn Shell (ksh)**:结合了Bourne Shell和C Shell的优点...
* 使用 grep 命令在/etc/inittab 文件中查询“initdefault”字符串 * 使用 find 和 locate 命令查找/目录下所有以 main 开头的文件,并显示这些文件的内容 * 用 cp 命令将/etc 目录下的 inittab 文件和拷贝到/root ...
13. **find**: 在指定路径下查找文件。 14. **man**: 查看命令的手册页。 **Shell脚本** 编写Shell脚本时,我们需要定义脚本的首行`#!/bin/bash`来指定使用Bash解释器。然后,我们可以定义变量、使用条件语句(if....
在Linux系统中,Shell脚本提供了强大的文本处理能力,其中包括查找和分析文件中的特定字符串。本文将详细介绍如何使用Shell命令来查找某字符串在文件中出现的行数。 首先,最常用的命令是`grep`,它能够高效地在...