好几年没在Qiita上发文章了,不知为何有点紧张哈哈

我得先道歉,但在下面的推文中,我写了结果公布是[10/10(星期一)],但我忘记了10/10(星期一)是公共假期。今天的答案将公布。 .!对不起【 #ゆめみからの挑戦状 ★第6弾】解答例の紹介と総括

主题

我们公司 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 的内容时使用的图像。我添加它以防万一,但这次可能没有必要【 #ゆめみからの挑戦状 ★第6弾】解答例の紹介と総括

|(パイプ)

它的正式名称是パイプライン,是一个用于将标准输出的内容传递给下一个命令的命令。它是您想要连续执行命令时使用的图像。

回答这个问题的单行示例

很抱歉,结果和那些已经回答过的人一样,但简单的答案是下面的一行。

答案示例
$ (省略) | grep -oi "キャリア" | wc -l

# => 46

grep 命令

这不也是人人都爱的命令吗(笑)?
从手册中引用,从给定的输入文件中选择匹配一个或多个模式的行他们会为你做的。 grep 也用于简单模式和基本正则表达式 (BRE)。

在上面的示例中,您只匹配一个模式(“运营商”)。

-o, --only-matching 选项

顾名思义,只打印匹配的部分行。

-i, --ignore-case 选项

grep 命令默认区分大小写,但有一个选项可以使匹配不区分大小写。

这也是一个不必要的选项,因为这次它是在片假名中,但我认为知道它会很有用,所以我将它包含在【 #ゆめみからの挑戦状 ★第6弾】解答例の紹介と総括

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> 转换为带有正则表达式的空字符串。正如后面已经解释的那样。诚实的花招所以如果你有一个漂亮的答案,如果你能教我,我将非常感激【 #ゆめみからの挑戦状 ★第6弾】解答例の紹介と総括

另一个答案

有些人给出了不同的答案,所以让我在这里介绍他们?

使用其他语言

有些人用几种服务器端语言回答!

ruby

python

perl

我从来没有写过一行perl,所以它对我来说很新……!

使用不同的命令

tr命令

这是一个稍微独特的答案,我看到【 #ゆめみからの挑戦状 ★第6弾】解答例の紹介と総括

我将简要解释一下。
首先,tr 命令是translate characters 的缩写,字面意思是切断第一个或最后一个字符。那么你用这个命令做什么呢?

  • -d 可选剪切 (改行)
  • 将“a”替换为 (改行)
  • grep -c 命令选项计数字符,包括“进位”

grep 命令的-c 选项而不是wc 命令结束很有趣,但我很抱歉。我不明白用“a”分隔的意图...【 #ゆめみからの挑戦状 ★第6弾】解答例の紹介と総括

在最后

首先,非常感谢所有参与的人。另外,如果我能为那些以前从未玩过单线的人提供一个类似工程师的新机会,我会很高兴。

这一次的问题很简单,所以他们可能没有像测验一样的胶水很有趣。3这对我来说也是一个挑战,我觉得我有一个很好的经验。嗯,除了我以外的成员,内容力太大了,感觉像个影子! w

那么(=゚ω゚)ノ

  1. 2022/10/11 当前数字。既然是Notion,以后有可能会发生变化。

  2. 顺便说一句,我从屏幕上搜索Ctrl + F时,是25个字符,是一致的。如果你不打开所有折叠的东西,那就是 16 个字符。

  3. 您可以尽最大努力装饰输出结果,但也许这就是所有可以玩的......


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308629166.html

相关文章:

  • 2022-12-23
  • 2021-10-15
  • 2022-01-19
  • 2021-09-21
  • 2022-12-23
  • 2022-02-15
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-30
  • 2021-10-16
  • 2022-12-23
相关资源
相似解决方案