Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 直接将命令行程序的文件输出移动到文件夹中_Bash_Macos_Terminal - Fatal编程技术网

Bash 直接将命令行程序的文件输出移动到文件夹中

Bash 直接将命令行程序的文件输出移动到文件夹中,bash,macos,terminal,Bash,Macos,Terminal,我正在运行一个命令行程序(macOS),它向命令行输出一条成功消息,并创建一些包含程序结果的文件 由于我使用不同的参数多次运行此程序,我希望按参数将结果分组到文件夹中。理想情况下,如果我运行PROGRAM[param_1=1][param_2=2],然后运行PROGRAM[param_1=1][param_2=3],我会得到: param_1_1 param_2_2 OUTPUT_FILES param_2_3 OUTPUT_FILES 我试过:

我正在运行一个命令行程序(macOS),它向命令行输出一条成功消息,并创建一些包含程序结果的文件

由于我使用不同的参数多次运行此程序,我希望按参数将结果分组到文件夹中。理想情况下,如果我运行
PROGRAM[param_1=1][param_2=2]
,然后运行
PROGRAM[param_1=1][param_2=3]
,我会得到:

param_1_1
    param_2_2
        OUTPUT_FILES
    param_2_3
        OUTPUT_FILES
我试过:

首先使用
mkdir-p
创建一个文件夹
output
,然后执行
PROGRAM[param_1=1][param_2=2]>output
,但这会将成功消息放在名为
output
的文本文件中,并且不会将输出文件移动到任何位置


我也曾想过运行我的程序,然后使用包含
mv
的bash脚本,通过按文件名分类将文件移动到文件夹中,但文件名多种多样,虽然可能,但如果可以的话,我希望跳过这一步

之所以发生这种情况,是因为
只向右侧的文件名发送标准输出

您可以更改程序本身(例如,它打开文件指针的方式),但如果不可行:

  • 如果所有文件都是在与程序运行位置相关的路径中创建的,则在运行之前将
    cd
    放入不同的目录中,因此
    mv
    步骤更简单
  • 如果它们输出到没有其他文件的路径,您可以使用
    ln
    将该路径设置为符号链接,其中实际路径是输出目录
否则,可能有必要按照你的建议去做