好几年没在Qiita上发文章了,不知为何有点紧张哈哈
我得先道歉,但在下面的推文中,我写了结果公布是[10/10(星期一)],但我忘记了10/10(星期一)是公共假期。今天的答案将公布。 .!对不起
主题
我们公司 Yumemi 正在推特上接受来自#Yumemi 的挑战!
这次我桑原问了一个关于ワンライナー的问题!我真的很想解决前端和 JavaScript 周围的问题,但我诅咒我缺乏想象力......
由于图片横向太长了,我再写代码?
$ curl -sL https://notion.yumemi.co.jp/815649ec12304cd7a58ecd5eaee15789 | (ここを考える)
补充
很抱歉我的日语能力太差了,但我不能用140个字符写好。产生两种解释知道了,我就放出来了。
-
计算出现在
HTML中的所有短语 -
从
HTML中显示的文本中排除出现在<script>标记中的那些并计数
另外,请注意,本文将是一个粗略的解释,省略了细节。
所以答案和解释
正确的号码1
根据以上解释的不同,正确答案是以下两个!
-
计算出现在
HTML中的所有短语
→46 -
从
HTML中显示的单词中排除<script>标签中出现的单词并统计它们。
→252
关于有问题的代码
首先,让我们谈谈有问题的代码?我想很多人都知道这一点,所以如果您想进入主题,请阅读更多内容。请跳过
curl 命令
我知道这是在说佛,但粗略地说,它是免费的开源软件。它主要用于发送HTTP请求(我认为),它也是一个可以通过添加各种选项非常灵活地设置的优秀产品。
这次检查后第一次学习,但是GitHub存储库和
官方网站
也有。
-s, --silent 选项
顾名思义,这是一种防止额外输出的选项。删除这个给
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 213k 100 213k 0 0 1485k 0 --:--:-- --:--:-- --:--:-- 1485k
网络周围的信息也是这样输出的,所以我排除了?
-L, --location 选项
如果获取目的地的内容中有重定向,这是一个获取重定向目的地信息的选项。它是在获取缩短 URL 的内容时使用的图像。我添加它以防万一,但这次可能没有必要
|(パイプ)
它的正式名称是パイプライン,是一个用于将标准输出的内容传递给下一个命令的命令。它是您想要连续执行命令时使用的图像。
回答这个问题的单行示例
很抱歉,结果和那些已经回答过的人一样,但简单的答案是下面的一行。
$ (省略) | grep -oi "キャリア" | wc -l
# => 46
▼ grep 命令
这不也是人人都爱的命令吗(笑)?
从手册中引用,从给定的输入文件中选择匹配一个或多个模式的行他们会为你做的。 grep 也用于简单模式和基本正则表达式 (BRE)。
在上面的示例中,您只匹配一个模式(“运营商”)。
▼ -o, --only-matching 选项
顾名思义,只打印匹配的部分行。
▼ -i, --ignore-case 选项
grep 命令默认区分大小写,但有一个选项可以使匹配不区分大小写。
这也是一个不必要的选项,因为这次它是在片假名中,但我认为知道它会很有用,所以我将它包含在
▼ wc 命令
借用手册,它显示了每个输入文件或标准输入(如果没有指定文件)中包含的行数、字数和字节数以及标准输出中包含的行数、字数和字节数。似乎行被定义为由<newline> 字符分隔的字符串。
这次我们用这个来数数?
▼ -l 选项
这是一个将每个输入的行数输出到标准输出的选项。
▼ 顺便-w 选项
由于-o 选项用于grep 命令,所以这次-w 选项也是正确的。
答案示例的解释到此结束,但还有一件事
另外,如上所述,我还将编写一个排除script 标签的示例。
$ (省略) | sed 's/<script.*キャリア.*script>//g' | grep -oi "キャリア" | wc -l
# => 25
▼sed命令
说起单行,sed命令用的太频繁了,可以说是命令(个人感觉)。根据手册,它代表stream editor。
和,
's/<script.*キャリア.*script>//g'
至于我在该部分中所做的事情,我将<script>("キャリア"を含む何らかの文字列)</script> 转换为带有正则表达式的空字符串。正如后面已经解释的那样。诚实的花招所以如果你有一个漂亮的答案,如果你能教我,我将非常感激
另一个答案
有些人给出了不同的答案,所以让我在这里介绍他们?
使用其他语言
有些人用几种服务器端语言回答!
▼ruby
▼python
▼perl
我从来没有写过一行perl,所以它对我来说很新……!
使用不同的命令
▼tr命令
这是一个稍微独特的答案,我看到
我将简要解释一下。
首先,tr 命令是translate characters 的缩写,字面意思是切断第一个或最后一个字符。那么你用这个命令做什么呢?
-
-d可选剪切(改行) - 将“a”替换为
(改行) -
grep-c命令选项计数字符,包括“进位”
以grep 命令的-c 选项而不是wc 命令结束很有趣,但我很抱歉。我不明白用“a”分隔的意图...
在最后
首先,非常感谢所有参与的人。另外,如果我能为那些以前从未玩过单线的人提供一个类似工程师的新机会,我会很高兴。
这一次的问题很简单,所以他们可能没有像测验一样的胶水很有趣。3这对我来说也是一个挑战,我觉得我有一个很好的经验。嗯,除了我以外的成员,内容力太大了,感觉像个影子! w
那么(=゚ω゚)ノ
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308629166.html