我需要将此解决方案编写为AWK命令。我坚持最后一个问题:
编写一行shell命令,该命令将计算名为" file.txt"的文件中的所有行。在括号中以十进制数开头,包含大写和小写字母的混合,并以句点结束。
实施例(一个或多个):
这是我们要打印的行的格式。应跳过与此格式不匹配的行:
(10)这是脚本应该来自file.txt的示例行 计数。
(117)这是你的剧本应该计算的另一行。
应跳过此类行以及其他不匹配的行:
15不应打印此行
并且不应打印此行
在此先感谢,我不确定如何在一行中解决这个问题。
答案 0 :(得分:1)
这不是家庭作业解决方案服务。但我想我可以提几点。
一个想法是创建一个计数器,然后在结尾打印结果:
awk '<COND> {c++} END {print c}'
我对这个术语感到有点困惑。首先,你声称应该对行进行计数,但在示例中,它表示应该打印这些行。
现在你可以这样做:
awk '<COND>' file.txt | wc -l
第一部分将打印出符合条件的所有行,但输出将被解析为wc -l
,这是一个计算行数的单独程序。
现在关于条件<COND>
应该是什么,我留给你。我强烈建议你谷歌正则表达式和awk,它不应该太难。
答案 1 :(得分:0)
我认为要求非常明确
编写一行shell命令,该命令将计算名为“file.txt”的文件中的所有行,该文件以括号中的十进制数开头,包含大写和小写字母的混合,并以句点结束。 / p>
1. begin with a decimal number in parenthesis
2. containing a mix of both upper and lower case letters
3. end with a period
检查所有三个条件。请注意,在2.它没有说“only”所以你可以有额外的字符类,但它应该至少有一个大写和一个小写字符。
该示例混合了概念打印和计数,如果练习的一部分措辞非常差,或者假设计数将由wc
通过过滤脚本的管道输出完成;无论如何应该多加注意,特别是对于学生的锻炼。
如果有任何不清楚的地方请评论,我会添加更多细节......