Grep Unix:以特定字符开头和结尾的字符串,并将其写入文本文档
因此,基本上,任务是统计当前登录到机器中的学生ID以15或16开头,以偶数结尾的who(putty中的命令)的学生数量,并将输出写入文件sample.txt 我试过这个命令,但似乎不起作用Grep Unix:以特定字符开头和结尾的字符串,并将其写入文本文档,grep,Grep,因此,基本上,任务是统计当前登录到机器中的学生ID以15或16开头,以偶数结尾的who(putty中的命令)的学生数量,并将输出写入文件sample.txt 我试过这个命令,但似乎不起作用 grep '^15\|16.*[02468]' | who | wc -l > sample.txt 例如: 155053 165054 175055 155056 行数:2 有什么想法吗?你需要 grep '^1[56].*[02468]$' 看 Detais ^-字符串的开头 1-1 [56]
grep '^15\|16.*[02468]' | who | wc -l > sample.txt
例如:
155053
165054
175055
155056
行数:2
有什么想法吗?你需要
grep '^1[56].*[02468]$'
看
Detais
-字符串的开头^
-1
1
-[56]
或5
6
-ant 0+字符(如果要确保只匹配pnly个数字的字符串,请替换为*
)[0-9]*
-[02468]
,0
,2
,4
,6
8
-字符串结束$
- 您需要
grep '^1[56].*[02468]$'
看
Detais
-字符串的开头^
-1
1
-[56]
或5
6
-ant 0+字符(如果要确保只匹配pnly个数字的字符串,请替换为*
)[0-9]*
-[02468]
,0
,2
,4
,6
8
-字符串结束$
谁
命令有关它说-bash:无法为此处创建临时文件文档:当我输入时,设备0上没有剩余空间it@BojanPetkovskiwho
输出在ubuntupts/0200-05-18 08:02(12.34.56.789)
-难道你不想做一些类似于谁| grep'..'
?但是预期的输出是什么呢?它似乎不起作用,putty没有给我访问新命令的权限。通常可以[185053@os~]然后是一个新命令,但现在没有。我认为这与谁
命令有关它说-bash:无法为此处创建临时文件文档:当我输入时,设备0上没有剩余空间it@BojanPetkovskiwho
输出在ubuntupts/0200-05-18 08:02(12.34.56.789)
-难道你不想做一些类似于谁| grep'..'
?但是预期的结果是什么呢?为什么您的尝试没有成功(它产生了太多的点击):您没有在任何地方使用括号,因此交替(或选择)介于^15
和16.[02468]
之间。因此,您将选择以15开头的所有字符串(无论后面是什么),以及字符串中任何位置都有16的所有字符串,然后以偶数结尾。(但哪个数字必须与16
匹配中的6
不同)。您希望“开始”锚应用于所有内容,并且*[02468]
应用于所有内容;因此,括号中需要15\| 16
。但是,当然,1
对于这两个选项都是通用的,因此您可以重写为^1(5\|6).[02468]$
。最后,\(5\\;6\)
与[56]
(从列表中选择一个字符)相同。为什么您的尝试不起作用(它产生了太多的点击):您没有在任何地方使用括号,所以交替(或选择)介于^15
和16.[02468]
之间。因此,您将选择以15开头的所有字符串(无论后面是什么),以及字符串中任何位置都有16的所有字符串,然后以偶数结尾。(但哪个数字必须与16
匹配中的6
不同)。您希望“开始”锚应用于所有内容,并且*[02468]
应用于所有内容;因此,括号中需要15\| 16
。但是,当然,1
对于这两个选项都是通用的,因此您可以重写为^1(5\|6).[02468]$
。最后,\(5\| 6\)
与[56]
相同(从列表中选择一个字符)。