有人能确认一下这个unix脚本语句的含义吗:
ls vec_tree"$i"_???.bfs > vec_tree_list$i.txt
我试着把它翻译成一个windows cmd代码,但不确定我是否完全理解它。是否正在复制TXT中的bfs文件的内容?
语句最初包含在循环中,其中$i是迭代器变量。
最佳答案
ls
命令大致相当于windows中的dir
。它列出了作为参数提供的文件。默认情况下,它列出当前目录中的所有文件
$ ls
file1
file2
file3
"$i"
将被循环中变量i
的值替换。问号是
?
是匹配任何单个字符的通配符,因此在本例中???
匹配任何三个字符。因此,如果
i=3
vec_tree"$i"_???.bfs
与当前目录中的文件匹配,如:vec_tree3_abc.bfs公司
矢量树3 xyz.bfs
vec_tree3_123.bfs公司
ls vec_tree"$i"_???.bfs
将实际列出上述文件。最后,
> somefile
操作符将标准输出重定向到文件somefile
。在这种情况下,ls
命令的输出将写入一个名为vec_tree_list3.txt
的文件(假设i=3
)。因此,总的来说,该命令将把与
vec_tree"$i"_???.bfs
匹配的文件名写入名为vec_tree_list$i.txt
的文件关于linux - Unix脚本的含义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33846780/