[英]Echo command-line Questions
所以我是Linux的新手,我尝试学习echo命令
我的第一个问题是,我尝试在扩展名为.txt的某个目录中显示所有文件名(而非内容),而不是该目录
我试过这张cd /directory/ | echo *.{txt}
cd /directory/ | echo *.{txt}
但不起作用
同样,如果我想显示所有文件名(而不是内容),以“ the”开头,后跟任意2个数字,我已经echo the[0-9][0-9]*
但我不认为语法正确
最后,如果我要显示至少三个字符但不以“ the”开头的文件怎么办? ... <-我不知道该怎么做
任何帮助和澄清将使我受益,在此先感谢!
您可以通过使用正确的模式作为ls
命令的参数来实现您要执行的操作:
ls /directory/*.txt
就echo
而言,它只是显示其参数的命令。
我认为您需要list命令( ls
)或find
命令,例如
ls /some/path *.txt
find /some/path *.txt
ls
相对简单但受限制。 find
稍微复杂一些,但是功能和灵活性更高。
cd /directory/ && echo *.txt
但这并非没有存在。 您可以
(cd /directory/ ; echo *.txt )
如果要在执行命令后返回。
echo the{0..9}{0..9}*
ls| grep -v ^the
是的,如果您想要文件的内容,则应使用cat
而不是echo
,在最后一种情况下
cat $(ls|grep -v ^the)
(请注意,如果文件中有空格,则最后一个命令将变得更加复杂)
如果要显示文件的内容,则应使用cat
。 cat /directory/*.txt
,在其他情况下也是如此。
问题1:
ls /some/dir/*.txt
问题2:
ls /some/dir/the[0-9][0-9]*.txt
问题3:
ls /some/dir/*.txt | awk '{if(length($1) > 3 && substr($1,0,3) != "the"){print $1}}'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.