博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell脚本:从包含一堆文本文件的目录中找出包含某关键字的文件
阅读量:4166 次
发布时间:2019-05-26

本文共 1032 字,大约阅读时间需要 3 分钟。

#!/usr/bin/env bash# Author    : 蛙鳜鸡鹳狸猿# create_ts : 2019-11-11# program   : Search obj among docs under a directoryfunction search_obj_among_docs() {    # Search obj among docs under a directory        # $1: OS directory path        # $2: Obj to search(pass to built-in `grep`)    local path=$1    local path=${path%/}    local IFS=$'\n'    # shellcheck disable=SC2045    for doc in $(ls "${path}")    do        if [[ -d "${path}/${doc}" ]]; then            search_obj_among_docs "${path}/${doc}" "$2"        else            # shellcheck disable=SC2002            grep "$2" "${path}/${doc}" &> /dev/null            # shellcheck disable=SC2181            if [[ $? -eq 0 ]]; then                echo "${path}/${doc}"            fi        fi    done}search_obj_among_docs "$1" "$2"# To take a snack, execute the call below at your terminal:# ./search_obj_among_docs.sh /etc UUID 2> /dev/null

之所以会写这么一个文本文件检索的脚本,是因为工作中使用的Terraform工具维护着若干各个同事自定义的.tf配置文件,每次想要修改一些内容时,如果一个文件一个文件地去找会相当麻烦。通过这个脚本,只要传入配置文件群所在的文件夹和一个目标关键字,就能找到需要修改的单个或者多个配置文件。

转载地址:http://fahxi.baihongyu.com/

你可能感兴趣的文章
2017年5月软考总结
查看>>
Node.js中运行JavaScript代码
查看>>
5月英语总结--I will do it well.
查看>>
认识JS
查看>>
Google浏览器--翻译一定要“出去”吗?
查看>>
bash:ifconfig:未找到命令
查看>>
送给毕业的歌
查看>>
嵌入式100题(017):malloc的底层实现
查看>>
嵌入式100题(018):在1G内存的计算机中能否malloc(1.2G)?为什么?
查看>>
嵌入式100题(019):指针与引用的相同和区别;如何相互转换?
查看>>
嵌入式100题(040):什么是三次握手
查看>>
嵌入式100题(037):Http1.1和Http1.0的区别
查看>>
嵌入式100题(038):HTTPS与HTTP的一些区别
查看>>
嵌入式100题(042):为什么服务端易受到SYN攻击?
查看>>
嵌入式100题(043):什么是四次挥手
查看>>
嵌入式100题(044):为什么客户端最后还要等待2MSL?
查看>>
嵌入式100题(045):为什么建立连接是三次握手,关闭连接确是四次挥手呢?...
查看>>
嵌入式100题(028):static的用法(定义和用途)
查看>>
嵌入式100题(027):char和int之间的转换
查看>>
嵌入式100题(029):const常量和#define的区别(编译阶段、安全性、内存占用等)...
查看>>