小编Dou*_*Fir的帖子

grep 在目录中查找包含字符串的文件

我正在努力熟悉终端的基础知识。我想在我的 CMS 网站中找到包含我的 Google Analytics 跟踪代码“gaq”作为搜索字符串的文件应该可以解决问题。

我的桌面上有一个文件夹,其中包含所有站点文件。

/用户/我的名字/桌面/网站

我打开终端并尝试

grep gaq /Users/myname/Desktop/website

grep gaq * /Users/myname/Desktop/website
Run Code Online (Sandbox Code Playgroud)

我在 SO 和 Google 上搜索过,但互联网似乎挤满了涉及正则表达式和条件的 grep 稍微更高级的用法。

例如: 列出包含字符串但 *NOT* 包含另一个字符串的文件的 Unix 命令如何使用 grep 在文件夹中查找单词?.

我以为我已经在第二个示例问题中找到了答案。我尝试了以下命令:grep -nr gaq* /Users/myname/Desktop/website

但这返回了许多结果,据我所知,我的搜索字符串并不完全准确匹配。

这是通过查看 html 页面源获取的 Google Analytics 代码段示例。我的目标是找到生成分析代码段的文件,以便将其更新到较新版本的 Google Analytics:

var _gaq = _gaq || [];
            _gaq.push(['_setAccount', 'UA-xxxxxxxx-1']);
            _gaq.push(['_trackPageview']);
Run Code Online (Sandbox Code Playgroud)

所以我使用“gaq”作为搜索字符串。

我意识到这听起来一定很基本,但作为 shell 的初学者,这很令人沮丧。

我将如何使用 grep 在目录 /Users/myname/Desktop/website 中搜索包含分析代码的文件(返回文件而不是实际的文本段落)(假设 grep 是我应该使用的命令?)

bash shell grep

5
推荐指数
1
解决办法
1万
查看次数

选中数据框未定义列时出错

我一直在做一项任务,我必须从一个目录"specdata"中读取一些csv文件.这些文件非常相似,共有332个标题为001.csv - 332.csv.如果重要的话,它们具有一致的列和标题.

我相信我很接近,但我正在绊倒上面的错误信息

" [.data.frame(data1,good)中的错误:选择了未定义的列"

我原本期望一个数据框加载id参数中的文件子集指定的所有数据.

pollutantmean <- function(directory, pollutant, id = 1:332) {

              files <- list.files(directory)

              subsetFiles <- files[id]

              for (i in subsetFiles) {

                  filepaths <- paste(directory,"/",i, sep='')

                  data1 <- read.csv(filepaths)
                }

              data1

             good <- complete.cases(data1)

             data2 <- data1[good]

             data2
}

# test it out and ignore middle parameter for now
pollutantmean("specdata", "pass", 1:3)
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
1
解决办法
10万
查看次数

从节点列表中获取最后一项而不使用.length

以下命令

document.querySelectorAll('#divConfirm table')[1].querySelectorAll('tr')

给出一个包含3个tablerow(tr)元素的节点列表.如果我知道列表大小,我可以访问最后一个元素.item(2).

有没有办法直接获得最后一个元素而不先诉诸.length?

javascript

5
推荐指数
2
解决办法
4808
查看次数

将整个字符串打印到控制台,无需截断且无需调整全局设置

我已经阅读了这些关于让 rstudio 打印而不截断的帖子:

列表输出被截断 - 如何在 R 中使用 str() 扩展列出的变量

避免打印到控制台的字符串被截断(在 RStudio 中)

答案涉及对工作室设置进行调整,然后覆盖控制台的所有未来输出。

有没有一种特殊的方法可以让 r 将整个字符串打印到控制台?

我试过:

library(tidyverse)
library(foreach)

mystring <- foreach(i = 1:52) %do% {
  paste0("'_gaWeek",i,"'!A16:B;")
} %>% unlist %>% toString()

print(mystring, len = length(mystring))

> print(mystring, len = length(mystring))
[1] "'_gaWeek1'!A16:B;, '_gaWeek2'!A16:B;, '_gaWeek3'!A16:B;, '_gaWeek4'!A16:B;, '_gaWeek5'!A16:B;, '_gaWeek6'!A16:B;, '_gaWeek7'!A16:B;, '_gaWeek8'!A16:B;, '_gaWeek9'!A16:B;, '_gaWeek10'!A16:B;, '_gaWeek11'!A16:B;, '_gaWeek12'!A16:B;, '_gaWeek13'!A16:B;, '_gaWeek14'!A16:B;, '_gaWeek15'!A16:B;, '_gaWeek16'!A16:B;, '_gaWeek17'!A16:B;, '_gaWeek18'!A16:B;, '_gaWeek19'!A16:B;, '_gaWeek20'!A16:B;, '_gaWeek21'!A16:B;, '_gaWeek22'!A16:B;, '_gaWeek23'!A16:B;, '_gaWeek24'!A16:B;, '_gaWeek25'!A16:B;, '_gaWeek26'!A16:B;, '_gaWeek27'!A16:B;, '_gaWeek28'!A16:B;, '_gaWeek29'!A16:B;, '_gaWeek30'!A16:B;, '_gaWeek31'!A16:B;, '_gaWeek32'!A16:B;, '_gaWeek33'!A16:B;, '_gaWeek34'!A16:B;, '_gaWeek35'!A16:B;, '_gaWeek36'!A16:B;, '_gaWeek37'!A16:B;, …
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
1
解决办法
4966
查看次数

加载多个包并抑制消息

阅读这篇文章.而一个.

我想同时在oner和supress suppressPackageStartupMessages中加载包.

第一个链接中的答案使用了lapply:

packages <- c("tidyverse", "qdap", "stringr", "stringi", "textstem", "foreach", "caret", "xgboost", "quanteda")
lapply(packages, require, character.only = T)
Run Code Online (Sandbox Code Playgroud)

这会向控制台返回一个难看的列表:

[[1]]
[1] TRUE

[[2]]
[1] TRUE

[[3]]
[1] TRUE

[[4]]
[1] TRUE
Run Code Online (Sandbox Code Playgroud)

另外,我还想摆脱那些在加载时发送到控制台的消息,例如

> library(tidyverse)
Loading tidyverse: ggplot2
Loading tidyverse: dplyr
Conflicts with tidy packages --------------------------------------------------------------------
accumulate(): purrr, foreach
filter():     dplyr, stats
lag():        dplyr, stats
when():       purrr, foreach
Run Code Online (Sandbox Code Playgroud)

是否有一个聪明,简短的方法来加载包的向量和suppressPackageStartupMessages?

r

5
推荐指数
4
解决办法
1029
查看次数

使用Google跟踪代码管理器跟踪事件

自从开始使用Google跟踪代码管理器以来,我一直在尝试为分析提供一些Javascript.目前,我想跟踪退出链接并使用以下自定义html代码段:

<script type="text/javascript"> 

$(document).ready(function(){ 

    $('.app-cta a').onClick=_gaq.push(['_trackEvent', 'App', 'Click', 'iOS']);

});
</script>
Run Code Online (Sandbox Code Playgroud)

解雇规则是:

{{event}} equals GAevent
Run Code Online (Sandbox Code Playgroud)

然后我尝试了一个射击规则:

{{url}} matches RegEx .*
Run Code Online (Sandbox Code Playgroud)

没运气.Google Analytics和HTTPfox都没有提取任何内容.

我仍然专注于Google跟踪代码管理器.

谁能看到我在这里做错了什么?

javascript google-analytics google-tag-manager

4
推荐指数
1
解决办法
5197
查看次数

看不到来自 onEdit 触发器的日志

我写了一个小函数:

function weeklyCurrency(e) {
  var changed_cell = e.range.getA1Notation();
  Logger.log(changed_cell);
}
Run Code Online (Sandbox Code Playgroud)

然后将其设置为可安装的 onEdit 触发器:

Resources > current projects triggers > weeklyCurreency > onEdit
Run Code Online (Sandbox Code Playgroud)

已保存

转到工作表并在单元格中键入任何值,然后返回编辑器并单击View > Logs

未找到用户日志。请运行您的脚本并重试。

我希望看到例如“ A15”。

为什么每次编辑时都看不到任何东西?

我还尝试通过将函数名称更改为onEdit()相同的内容来使用简单的触发器函数;没有结果。

javascript google-sheets google-apps-script

4
推荐指数
1
解决办法
1358
查看次数

str_replace 模式是“”给出“mutate_impl(.data, dots) 中的错误:评估错误:未实现。”

我在 df 中有一个功能,其中一些缺失值仅显示为“”。

unique(page_my_df$Type)
[1] "list"              "narrative" "how to"            "news feature"     
[5] "diary"     ""                  "interview" 
Run Code Online (Sandbox Code Playgroud)

我想用“未知”替换“”的所有实例。

page_my_df <- page_my_df %>% 
  mutate(Type = str_replace(.$Type, "", "unknown"),
         Voice = str_replace(.$Voice, "", "unknown"))
Run Code Online (Sandbox Code Playgroud)

mutate_impl(.data, dots) 中的错误:评估错误:未实现。

在这里阅读一些文档,特别是在模式下:

使用boundary() 匹配字符、单词、行和句子边界。空模式 "" 等效于边界(“字符”)。

所以我试过:

page_my_df <- page_my_df %>% 
  mutate(Type = str_replace(.$Type, boundary(""), "unknown"),
         Voice = str_replace(.$Voice, boundary(""), "unknown"))
Run Code Online (Sandbox Code Playgroud)

然后给出:

mutate_impl(.data, dots) 中的错误:评估错误:“arg”应该是“character”、“line_break”、“sentence”、“word”之一。

如何在 dplyr::mutate() 中用“unknown”替换空字符串?

r dplyr

4
推荐指数
1
解决办法
2122
查看次数

本机管道占位符

我意识到这个问题之前已经被问过,但没有点击。真的没有占位符吗?

例子:

my_mtcars <- mtcars %>% mutate(bla = c(1:nrow(.)))
my_mtcars$bla[10] <- NA
my_mtcars$bla[15] <- NA
Run Code Online (Sandbox Code Playgroud)

作品:

# magritr pipe to return NA rows while debugging a df
my_mtcars %>% filter(!complete.cases(.)) %>% glimpse
Run Code Online (Sandbox Code Playgroud)

不起作用:

# native piple equivilent
my_mtcars |> filter(!complete.cases(.)) |> glimpse()
Run Code Online (Sandbox Code Playgroud)

我尝试使用本机管道执行的操作的“正确”方法是什么?

r

4
推荐指数
1
解决办法
1174
查看次数

select_at() 在一次调用中删除一些变量,将一些变量拉到前面,然后将 everything() ?

例如,我想删除字段mpg,选择carb,使其成为第一个,然后是现有顺序中剩余的所有内容。

mtcars |> select_at(vars(-mpg, carb, everything()))
Run Code Online (Sandbox Code Playgroud)

这似乎会根据需要降低 mpg,但 carb 不在前面位置/第一个变量。

我打电话的select_at()目的是用英语读“下降英里数,然后首先选择碳水化合物,然后选择其他一切”。

在 ?vars 的文档中,它说要使用 across。我对其中任何一种都持开放态度,但如果可能的话,我更喜欢单衬,而不是例如select(-mpg) |> select_at(vars(carb, everything()))

r dplyr

4
推荐指数
1
解决办法
105
查看次数