在Linux系统中如何筛选出一个文件只能够以a开头的行

假如查询/etc/httpd/conf/httpd.conf中以S开头的行,并且有#注释的也要出现

直接使用通配符。

ls la*。

这是一种方法,*表示匹配任何长度的任意字符,通过这样的方式就可以查找到所有以ls开头的文件,如果我们想查找文件名中含有la的文件,只需输入“ls *la*”即可。


扩展资料:

ls 指令是Linux下最常用的指令之一。

ls 命令将每个由 Directory 参数指定的目录或者每个由 File 参数指定的名称写到标准输出,以及您所要求的和标志一起的其它信息。

运用举例:

1、列出具体文件 #ls -al //这个最常用,可是往往又不彻底符合要求,

2、列出一切子目录的文件:#ls -R //上个指令仅仅列出了本目录下的一切目录和文件,可是目录下的文件不会循环的列出。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-03
如果#S之间不会出现空格,可以把 ( *)部分去掉,但是不去掉应该也无所谓,因为应该允许行的开头有空格,以及#可以有多个然后再出现S,并且# S之间应该允许有空格.也即是考虑这种情况:
^ ### S ^表示行的开始
大写S,小写s,空格都匹配:
grep '^ *#* *[sS]' /etc/httpd/conf/httpd.conf
不匹配小写s,只匹配大写S:
grep '^ *#* *S'
第2个回答  推荐于2017-10-01
1、grep ^a /etc/httpd/conf/httpd.conf

2、grep是检索,已筛选出行;^a代表已a开头;

合起来就是筛选出已a开头的行
第3个回答  2013-05-02
这个可以用grep命令


grep -i -e "^a" 1.txt追问

假如查询/etc/httpd/conf/httpd.conf中被注释的以S开头的行!!

追答

这个有问题啊。
被注释的是以#号开头的。
所以就不能以S开头了。
不知道这样的效果是不是你想要的。

grep -e "# *S" /etc/httpd/conf/httpd.conf

本回答被网友采纳
第4个回答  2013-05-02
看你情况,还不如直接使用一个编辑器打开httpd.conf,然后查找S.....编辑器会列出的
相似回答