小编Aar*_*ron的帖子

在多个文件夹名称中查找文件

我正在尝试列出、和中的所有文件dir1,这些文件可能位于我使用该命令的子目录中的任何位置。我尝试了以下但没有成功:dir2dir3dir4cwdfind

find . -type f -regextype posix-egrep -regex 'dir1/.+|dir2/.+|dir3/.+|dir4/.+'
Run Code Online (Sandbox Code Playgroud)

我也试过posix-extended了。如何列出这些文件?

bash find regular-expression

60
推荐指数
2
解决办法
11万
查看次数

如何推迟变量扩展

我想用尚未设置的变量初始化脚本顶部的一些字符串,例如:

str1='I went to ${PLACE} and saw ${EVENT}'
str2='If you do ${ACTION} you will ${RESULT}'
Run Code Online (Sandbox Code Playgroud)

然后稍后PLACE, EVENT, ACTION, 和RESULT将被设置。然后我希望能够在扩展变量的情况下打印出我的字符串。是我唯一的选择eval吗?这似乎有效:

eval "echo ${str1}"
Run Code Online (Sandbox Code Playgroud)

这是标准吗?有一个更好的方法吗?eval考虑到变量可能是任何东西,最好不要运行。

shell bash string

23
推荐指数
2
解决办法
3万
查看次数

如何使用变量作为数组名称的一部分

我有两个数组:

arrayA=(1 2 3)
arrayB=(a b c)
Run Code Online (Sandbox Code Playgroud)

我想使用命令行参数打印出其中一个,即没有任何if else.

我尝试了一些语法变体,但没有成功。我想做这样的事情:

ARG="$1"

echo ${array${ARG}[@]}
Run Code Online (Sandbox Code Playgroud)

但我收到了“错误替换”错误。我怎样才能做到这一点?

shell bash

18
推荐指数
2
解决办法
5万
查看次数

scp 强制覆盖只读文件

我想用来scp移动一些文件并覆盖目标服务器上这些文件的任何现有实例。其中一些可能是只读的,当然,这些课程scp会因“许可被拒绝”而失败。我似乎找不到;的--force类型开关scp。这可能吗?

我知道,rsync但目前在目标服务器上不可用。

scp

7
推荐指数
1
解决办法
4万
查看次数

如何打印查找匹配以及运行 -exec

我想find在每场比赛中运行一个然后执行一个脚本;但是,我想在每个exec. 我怎样才能产生以下输出:

$ find . -name 'something' -exec sh script.sh {} \;
./something_1
output from 
script.sh something_1
./something_2
output from
script.sh something_2
Run Code Online (Sandbox Code Playgroud)

我目前只从script.sh. 我试过-exec echo {} && sh script.sh {} \;没有成功。

我更喜欢使用-execor的解决方案xargs -print0,即不容易出现空白问题。

bash find

3
推荐指数
1
解决办法
2072
查看次数

标签 统计

bash ×4

find ×2

shell ×2

regular-expression ×1

scp ×1

string ×1