繁体   English   中英

回声命令行问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM