linux中循环创建文件,linux-尝试创建一个文件以调用另一个文件进行循环搜索

我试图编写一个脚本,该脚本调用另一个脚本并根据输入使用一次或循环使用.

我编写了一个脚本,该脚本仅在文件中搜索模式,然后打印文件名并列出在其上找到搜索的行.该脚本在这里

#!/bin/bash

if [[ $# < 2 ]]

then

echo "error: must provide 2 arguments."

exit -1

fi

if [[ -e $2 ]]

then

echo "error: second argument must be a file."

exit -2

fi

echo "------ File =" $2 "------"

grep -ne $1 $2

因此,现在我想编写一个新的脚本来调用它,即用户仅输入一个文件作为第二个参数,并且还将循环并搜索目录中的所有文件(如果它们选择了目录).

因此,如果输入是:

./searchscript if testfile

它只会使用脚本,但是如果输入是:

./searchscript if Desktop

它将循环搜索所有文件.

我的心一如既往地为你们所有.

解决方法:

类似的东西可以工作:

#!/bin/bash

do_for_file() {

grep "$1" "$2"

}

do_for_dir() {

cd "$2" || exit 1

for file in *

do

do_for "$1" "$file"

done

cd ..

}

do_for() {

where="file"

[[ -d "$2" ]] && where=dir

do_for_$where "$1" "$2"

}

do_for "$1" "$2"

标签:bash,shell,scripting,linux

来源: https://codeday.me/bug/20191123/2065289.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值