本文共 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/