有人能确认一下这个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=3vec_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/

10-15 01:20