将下载实用程序(如 wget)的 url 合并到一行中

将下载实用程序(如 wget)的 url 合并到一行中

考虑这些wget代码:

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/papj.sh
wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/nixta.sh

有没有一种优雅的方法可以将具有上述相同基本 URL 的不同终端统一为一行而不是 2 行或更多行?

伪代码:

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/papj.sh||nixta.sh

答案1

由于wget一次接受多个 URL,因此可以使用大括号扩展来完成bash

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/{papj.sh,nixta.sh}

(甚至

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/{papj,nixta}.sh

但这当然只适用于非常合适的名称)。

答案2

我通过使用 awk 命令和 for 循环来完成此操作。如有任何疑问和困惑,请告诉我

通过将以下内容放入文件中创建了一个文件 example.txt

猫示例.txt

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/

我已将 papj.sh nixta.sh 分配给变量 i

使用下面的脚本根据您的要求执行

for i in papj.sh nixta.sh; do awk -v i="$i" '{print $0i}' example.txt; done

输出

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/papj.sh

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/nixta.sh

相关内容