问题1(13分)
在gaul上,将您的工作目录更改为/ bin /
(a)执行pwd命令时会得到什么?解释你为什么得到那个输出?
(b)使用Unix命令显示当前文件名(不显示任何目录内容,如果有)
工作目录,名称:
I. (2分)长度恰好为15个字符
这是我在作业中唯一无法完成的,我写了两个正则表达式,但我不知道哪一个是正确的
ls / bin / | grep -c'([0-9])([a-z])* {1,15}'
8
ls / bin / | grep -c'[0-9] [a-z] * {1,15}'
45
它必须只是字符A-Z,0-9和_
答案 0 :(得分:1)
你使它变得比它需要的更复杂。它没有说使用正则表达式,也没有将它限制为那些字符(实际的文件名不限于那些)。
提示:您希望使用给定的一个或多个字符(?,*或[)来匹配15个单个字符。
答案 1 :(得分:0)
我认为以下ls命令足以解决您的问题:
ls -d ???????????????
来自ls手册页的:
-d, --directory
list directory entries instead of contents, and do not dereference symbolic links
和15“?”意思是,dir / file的名称应该是15的长度。
答案 2 :(得分:0)
Awk是这项工作的便利工具:
ls /bin | grep -ve "[^A-Za-z_]" | awk '{if (length == 15) print $0}'