国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

linux用shell搜索查找文本的方法

2020-02-25 21:05:36
字體:
供稿:網(wǎng)友

在linux系統(tǒng)中,日常開發(fā)免不了需要查看開發(fā)的應(yīng)用的日志,但是系統(tǒng)上線后我們就無法像以前那樣在本地調(diào)試了,而Linux系統(tǒng)中使用xShell查找文件里面的內(nèi)容也是非常常見的,現(xiàn)在我們就去看看linux用shell搜索查找文本的方法。

日志的大小很大,服務(wù)器一般也是Linux、HP、AIX等,每次都下載回來就麻煩的要命,在開源中國看到下面內(nèi)容,很實用。

1.使用find和xargs命令

?

復(fù)制代碼
代碼如下:

find dir | xargs grep str # dir是指某個目錄
find file | xargs grep str # file是指某個文件2.

?


第2種方法是直接使用grep命令

?

?

?

?

復(fù)制代碼
代碼如下:

?

?

?


grep str dir/* # dir是指某個目錄,但不遞歸搜索其子目錄
grep -r str dir/* #使用-r選項,遞歸搜索其子目錄
grep str file #file是指某個文件

?


3.第3種方法是綜合以上兩種

?

?

?

?

復(fù)制代碼
代碼如下:

?

?

?


#!/bin/bash
#find_str.sh
if [ $# -lt "2" ]; then
echo "Usage: `basename $0` path name [option]"
exit 1
fi
#!-r表示遞歸處理子目錄,-i表示忽略大小寫
path=$1
name=$2
shift
shift
for option in "$@"
do
case $option in
-r) dir_op="-r"
;;
-i) lu_op="-i"
;;
*) if [ -n "$option" ]; then
echo "invalid option"
exit 1
fi
;;
esac
done
grep_str_of_file()
{
file=$1
str=$2
out=$(grep -n $lu_op "$str" "$file")
if [ -n "$out" -a "$file" != "$0" ]; then
echo "$file: $out"
fi
}
find_str()
{
if [ -d "$1" ]; then
for file in $1/*
do
if [ "$dir_op" = "-r" -a -d "$file" ]; then
find_str $file $2
elif [ -f "$file" ]; then
grep_str_of_file $file $2
fi
done
elif [ -f "$1" ]; then
grep_str_of_file $1 $2
fi
}


使用方法

?

?

復(fù)制代碼
代碼如下:

?

?


$ find_str $path $name
上述內(nèi)容中就是關(guān)于linux用shell搜索查找文本的方法介紹,除此之外,搜索、查找文件當中的內(nèi)容,一般最常用的是grep命令,另外還有egrep, vi命令也能搜索文件里面內(nèi)容
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 大足县| 康马县| 长沙县| 太谷县| 申扎县| 长子县| 岐山县| 兰西县| 华阴市| 镇江市| 河北区| 呼玛县| 广西| 修武县| 诸暨市| 木兰县| 丰台区| 东台市| 墨脱县| 桓台县| 富平县| 盐山县| 唐河县| 乳源| 宁河县| 古交市| 宁河县| 黄大仙区| 马边| 格尔木市| 刚察县| 彩票| 阳春市| 南平市| 铜梁县| 大关县| 拜泉县| 个旧市| 铁力市| 澳门| 囊谦县|