首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我想通过输入一个命令来检查多个文件的输出。

我想通过输入一个命令来检查多个文件的输出。
EN

Unix & Linux用户
提问于 2018-11-03 14:34:27
回答 1查看 110关注 0票数 0
代码语言:javascript
运行
复制
(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)

上面所做的是模拟正在运行(这并不重要),上面的命令通过打印目录中的文件来跟踪它:

  • ./正向_src01 01_ls01/out_data_正向
  • ./正向_src01 01_ls02/out_data_正向
  • ./正向_src01 01_ls03/out_data_正向
  • ./正向_src01 01_ls04/out_data_正向

等等,直到src_08。

它在一些linux系统中运行,没有错误。但是在我的系统中,它会抛出以下错误:

代码语言:javascript
运行
复制
[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

说清楚,这些文件确实存在..。我可以单独打开,但不能成批打开。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-11-03 14:40:29

您的系统中的shell似乎与您在其他系统上使用的shell不同(echo $SHELL)

本地shell不理解/替换{1..8}调用的tail

尝试在您的系统上使用相同的shell,也可以在脚本中使用*通用通配符,以防{1..8}可以安全地被*替换。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/479593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档