如何使用 bash 命令参数创建文件名? [复制]
Posted
技术标签:
【中文标题】如何使用 bash 命令参数创建文件名? [复制]【英文标题】:How can I create a filename using bash command parameter? [duplicate] 【发布时间】:2020-10-07 18:32:36 【问题描述】:我正在尝试使用命令参数创建文件名,但不知道如何去做。这就是我正在尝试的:
echo "AZ" |xargs date >> $1.txt
我正在尝试创建一个名为 AZ.txt 的文件,其中包含日期。
【问题讨论】:
您是在尝试将日期写入名为AZ.txt
的文件,还是将AZ
写入名为2020-06-17.txt
的文件,或其他什么?
我正在尝试写入文件名 AZ.txt
date >> AZ.txt
是您要找的吗?我不明白应该在哪里使用参数
要清楚,使用此处的代码,>> $1.txt
发生在 之前 xargs
启动。这不是xargs
的参数,它是运行xargs 以将xargs
的输出重定向到某处的shell 的指令。 xargs
从未见过也无法更改。
【参考方案1】:
如果你必须使用 xargs,那么你必须将它的其余部分包装在一个 shell 脚本中以延迟重定向的执行,直到你构建了文件名:
echo AZ | xargs sh -c 'date >> "$1".txt' sh
尾随的“sh”是强制 xargs 参数“AZ”为 $1 而不是 $0
【讨论】:
【参考方案2】:如果文件名来自某个命令,可以使用命令替换:
date > "$(echo AZ)".txt
【讨论】:
以上是关于如何使用 bash 命令参数创建文件名? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 yml 文件中的 bash 命令将所有文件复制到新目录?