unix 初始PDL

8yparm6h  于 5个月前  发布在  Unix
关注(0)|答案(2)|浏览(42)

在图形的参数上有这样的命令。我无法理解它。它什么也不打印。在abinitio帮助页面中,我也找不到-f的意思,这就是我在这里的原因。你能帮助我理解它吗

$([ -f $FILE_PATH/$SUBJECT_AREA_X/`echo "$FILE_PATTERN_X" | awk -v RUNDATE=$RUN_DATE -F'_' '{for(i=1; i<=NF-1;i++) { printf "%s%s",$i, FS} { printf "%s%s\n", RUNDATE, substr($NF,length(RUNDATE)+1,length($NF)) }}'` ]

字符串

svujldwt

svujldwt1#

([ -f ... ]):这是一个检查文件是否存在的条件表达式。-f标志用于测试给定路径是否对应于常规文件。
$FILE_PATH/$SUBJECT_AREA_X/...:这部分命令构造文件的路径。它似乎涉及到像$FILE_PATH$SUBJECT_AREA_X这样的变量来定义目录结构。
echo "$FILE_PATTERN_X" | awk -v RUNDATE=$RUN_DATE -F'_' '...awk command...':此部分使用awk命令处理$FILE_PATTERN_X的内容。它在下划线(-F '_')上拆分输入,然后通过将$RUN_DATE变量追加到倒数第二个字段(不包括最后一个字段,假定它是与日期相关的部分)来重新构造文件名。
整个awk命令被封装在反引号(``)中,这意味着这个awk命令的输出被替换到整个命令中。
生成的构造文件路径和名称用作[ ]条件表达式中-f测试的参数。

5lwkijsr

5lwkijsr2#

这是一个shell解释的参数。最好写实际的PDL。很难准确地弄清楚它在寻找什么文件,但你可以使用参数来构建基础,然后在PDL中使用string_split,string_join和file_exists来测试文件是否存在。

相关问题