Linux
我想通過輸入一個命令來檢查多個文件的輸出
(directory=$(python -c 'import read_params; print(read_params.get_directory())') nsrc=$(cat $directory/master.pixels|wc -l) tail $directory/forward_src0{1..$nsrc}_ls00/out_data_forward)
上面所做的是模擬正在執行(這並不重要)並且上面的命令通過列印目錄中的文件來跟踪它:
- …./forward_src01_ls01/out_data_forward
- …./forward_src01_ls02/out_data_forward
- …./forward_src01_ls03/out_data_forward
- …./forward_src01_ls04/out_data_forward
依此類推,直到 src_08。
它可以在某些 linux 系統中執行而不會出錯。但在我的系統中,它會引發以下錯誤:
[prasad@daahpc1 sparc_flows]$ (directory=$(python -c 'import read_params; print(read_params.get_directory())') > nsrc=$(cat $directory/master.pixels|wc -l) > tail $directory/forward_src0{1..$nsrc}_ls00/out_data_forward) tail: cannot open /scratch/prasad/sparc_test/forward_src0{1..8}_ls00/out_data_forward' for reading: No such file or directory
需要明確的是,這些文件確實存在……我可以單獨打開它們,但不能批量打開。
您系統中的外殼似乎與您在其他系統上使用的外殼不同 (
echo $SHELL
)您的本地外殼不理解/替換
{1..8}
您的tail
通話。嘗試在您的系統上使用相同的 shell,您也可以
*
在腳本中使用通用萬用字元,以防萬一{1..8}
可以安全地替換為*