小编719*_*016的帖子

awk计算平均值或零

我正在计算一堆文本文件中的一堆数字的平均值,如下所示:

grep '^num' file.$i | awk '{ sum += $2 } END { print sum / NR }'
Run Code Online (Sandbox Code Playgroud)

但有时文件不包含模式,其中cas我希望脚本返回零.这个略有修改的单线的任何想法?

bash awk

8
推荐指数
2
解决办法
4801
查看次数

R闪亮的DataTables ColVis行为

我有一个带有DataTables的RStudio Shiny服务器页面,我在下面的示例中使用了TableTools和ColReorder,但是ColVis(Show/hide columns按钮)的行为方式与http://datatables.net/extensions/colvis/中的示例相同:

单击Show/hide columns按钮时,列表会与下面表格中的值混淆,我无法通过再次单击按钮或单击页面中的任何其他位置使列表消失(同样,数据表页面中的示例表现正常).

在此输入图像描述

另外,我对使用sDom表中的不同元素进行排序感到困惑.我希望Show/hide columns按钮位于右上角而不是左上角.我也不确定如何订购sDom表格中的不同元素,以便在更改列的顺序后,保存为CSV/Excel或隐藏某些列将为我提供新的表格布局而不是原始的布局.

有任何想法吗?

ui.R

shinyUI(pageWithSidebar(

h1('Diamonds DataTable with TableTools'),
        tagList(
                  singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables/1.9.4/jquery.dataTables.min.js',type='text/javascript'))),
                  singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/TableTools.min.js',type='text/javascript'))),
                  singleton(tags$head(tags$script(src='//cdn.datatables.net/colreorder/1.1.1/js/dataTables.colReorder.min.js',type='text/javascript'))),
                  singleton(tags$head(tags$script(src='//cdn.datatables.net/colvis/1.1.0/js/dataTables.colVis.min.js',type='text/javascript'))),
                  singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/ZeroClipboard.min.js',type='text/javascript'))),
                  singleton(tags$head(tags$link(href='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/css/TableTools.min.css',rel='stylesheet',type='text/css'))),
                  singleton(tags$script(HTML("if (window.innerHeight < 400) alert('Screen too small');")))
                ),
        dataTableOutput("mytable")
      )
)
Run Code Online (Sandbox Code Playgroud)

server.R

shinyServer(function(input, output, session) {
output$mytable = renderDataTable({
          diamonds[,1:6]
      }, options = list(
               "sDom" = 'RMDCT<"clear">lfrtip',
               "oTableTools" = list(
                       "sSwfPath" = "//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/swf/copy_csv_xls.swf",
                       "aButtons" = list(
                                 "copy",
                                 "print",
                                 list("sExtends" = "collection",
                                                     "sButtonText" = "Save",
                                                     "aButtons" = c("csv","xls") …
Run Code Online (Sandbox Code Playgroud)

jquery r shiny dt

8
推荐指数
1
解决办法
2619
查看次数

使用谷歌 gcloud ssh 隧道进入网络内部的 linux 机器

我有一台运行在 OSX 上的 Ubuntu 16.04 VirtualBox 机器(即机器 A)连接到大学校园网络。我想偶尔从我的笔记本电脑 ssh 进入机器以远程协助我的同事,我查看了不同的选项。

似乎选项之一是“反向 ssh”(与“端口转发”或“ssh 隧道”相关)。我的笔记本电脑没有固定 IP,所以我不能直接反向 ssh。可能的解决方案是使用代理机器。这个想法是当我需要帮助我的同事时,他们会输入来自机器 A 的连接指令,这将创建一个正在运行的 GCP 实例,然后我将能够使用这个桥接(代理)从外部连接到机器 A ?) GCP 机器。


                                            / Academic intranet
                          +----------+     |  
                          |   GCE    |     |  +----------+
                          | instance |<----|--| Machine A|
                          +----------+     |  +----------+
                                           |  
                                            \ 



                                            / Academic intranet
                          +----------+     |  
+-------------+    ssh    |   GCE    | ssh |  +----------+
| Laptop dynIP|---------->| instance |-----|->| Machine A|
+-------------+           +----------+     |  +----------+
                                           |
                                            \

Run Code Online (Sandbox Code Playgroud)

我们有一个 Google 云帐户并gcloud安装在机器 A 上。据我所知,GCP 已经有一种非常简单的方法可以在 GCP 中设置隧道:

https://cloud.google.com/community/tutorials/ssh-tunnel-on-gce …

ssh remote-desktop google-cloud-platform

8
推荐指数
1
解决办法
2491
查看次数

使用或命令在两个目录中找到unix文件的顺序

如果find在Linux上执行以下命令,文件的预期顺序是什么:

mkdir /tmp/dir1 /tmp/dir2
touch /tmp/dir1/1 /tmp/dir1/2 /tmp/dir2/1 /tmp/dir2/2 /tmp/dir2/3 /tmp/dir2/0
find /tmp/dir1 /tmp/dir2 -name 1 -or -name 0 -not -name 2

/tmp/dir1/1
/tmp/dir2/1
/tmp/dir2/0
Run Code Online (Sandbox Code Playgroud)

它应该始终首先从dir1返回结果,然后是dir2,还是结果可以按顺序混合?

unix linux bash

7
推荐指数
1
解决办法
1286
查看次数

鼠标悬停时Rstudio闪亮的ggvis工具提示

在下面的例子,我有一个互动的闪亮ggvis情节,但我添加了一个long列,它是一个长字符串,由于某种原因,我悬停弹出节目wtmpg,但不显示long.

此外,如果图例中的元素列表太长,它们将隐藏在图的右下角.有没有办法在图例中的几列中堆叠这些?

有任何想法吗?

# ui.R
library(ggvis)
shinyUI(pageWithSidebar(
  div(),
  sidebarPanel(
    sliderInput("n", "Number of points", min = 1, max = nrow(mtcars),
                value = 10, step = 1),
    uiOutput("plot_ui")
  ),
  mainPanel(
    ggvisOutput("plot"),
    tableOutput("mtc_table")
  )
))


# server.R
library(shiny)
library(ggvis)
shinyServer(function(input, output, session) {
  # A reactive subset of mtcars
  mtc <- reactive({
      data = mtcars[1:input$n, ]
      data$long = as.character(paste0("A car with ",data$cyl," cylinders and ",data$gear," gears and ",data$carb, " carburators"))
      data
  })
  # A simple …
Run Code Online (Sandbox Code Playgroud)

r shiny ggvis

7
推荐指数
2
解决办法
9034
查看次数

python在带有行号的多列tsv文件中读取

在带有标题的python中读取多列tsv文件的最简洁方法是什么,但第一列没有标题,而是包含每行的行号?

这显然是来自R数据帧的文件的常见格式.

例:

    A      B  C
1   a1     b1 c1
2   a2     b2 c2
3   a3     b3 c3
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python dataframe tsv

7
推荐指数
2
解决办法
3万
查看次数

在emacs org-mode中仅延迟加载前N行

有没有办法告诉org-mode只加载长文本文件的前N行?我想保持整个文件打开以便能够搜索它,但是在我的文件的前N行显示org-mode,这是我编辑新内容的地方.

emacs org-mode

6
推荐指数
2
解决办法
370
查看次数

emacs string-insert-rectangle数字向量?

如何使用emacs string-insert-rectangle操作将数字向量添加到一系列行?例如,我在emacs缓冲区中有一堆文本条目的缩短版本:

element01   8   111111111011010000100000001100101000001111101111011111111000
element01   8   111101101010101001111111111000111110111111011110100101010111
element01   8   111111011001001110111010111111100111010110101011111010110011
element01   8   111111111111111111111111010111101101011101011111000001100000
element01   8   111100111111011111100110110000001011110101000011111011111101
element01   8   111001001011000000011100000101001001100101101011101101011011
element01   8   111011111101101111111111111101101010111110111011111101011011
element01   8   101101111101101111000110111101111010111011101111001101001011
element02   6   110101110101100101100101000111010101110111001001101111111011
element02   6   111001011001001011101110111100111101101011111111111011111101
element02   6   101111100111010111111010010101111101111111101101111011111011
element02   6   111101111111111100111110110111101011111001001101101100111111
element02   6   111111010111101111010011110111001100001000101010111111111101
element02   6   111110111001101111111100111011110000011011100100100111111010
element03   13  110011011111111111101011100111111110011111110100111010011111
element03   13  100011101000111110101101000000000001110110110011110110111101
element03   13  101100011100011111110111110110101101111111110110110100101111
element03   13  111111011110101110101011010111110000010111111011100100011111
element03   13  011100110110110111100101110101111110111100101110010111110011
element03   13  100111111111100100111110110110111111111101011101110110110111
element03   13  101111111111110101110110111011111110111101110110111111111111
element03   13  111110010111110110101111110110111111111110101111111101110011
element03   13  100111111101110110110110111110111010111110110011111111110111
element03   13  110100110111110110110100111010110100110110110110110101111111
element03   13  011111011010111101101001011100111110010111111011111101011010
element03   13  011101111110010000111000000101101010111110100010110110110110 …
Run Code Online (Sandbox Code Playgroud)

emacs text

6
推荐指数
2
解决办法
2955
查看次数

linux gnu less:复制+粘贴时缓冲区中的长行分解

在我的一台Linux机器中,我创建了一个长行并将其管道到gnu,不像这样:

seq -w 1 999 | xargs echo | less
Run Code Online (Sandbox Code Playgroud)

如果我选择从gnu less(版本394)出现的文本,并将其复制+粘贴到其他地方,则将长行分解为多行,每行与终端的宽度一样长,这与我的预期不符.

如果我在不同的Linux盒子(更少的版本444)中做同样的事情,我可以从gnu less缓冲区中选择并将其复制+粘贴到其他地方作为一条长行,这是所需的行为.见图:

在此输入图像描述

粘贴到emacs中的效果,首先是未受影响的效果,下面是期望的效果:

在此输入图像描述

在两个linux框中,如果我使用cat而不是更少并从终端输出中选择,我也可以复制+粘贴一行中的所有内容:

seq -w 1 999 | xargs echo > /tmp/f
cat /tmp/f
Run Code Online (Sandbox Code Playgroud)

相比之下,在两个linux框中,该more命令的行为相反,在选择复制和粘贴时也将长行分解为多行:

seq -w 1 999 | xargs echo > /tmp/f
more /tmp/f
Run Code Online (Sandbox Code Playgroud)

可能会发生什么想法?如何从gnu less缓冲区复制+粘贴,具有我所看到的相同的一致行为cat

bash gnu gnu-coreutils

6
推荐指数
1
解决办法
1910
查看次数

emacs align-regexp与空格而不是制表符

M-x align-regexp在emacs中用来美化我的Perl代码,但默认情况下它使用的是制表符而不是空格,根据Perl评论家的说法,这是不应该做的.

有没有办法改变行为,align-regexp以便填充适当数量的空格而不是标签?

emacs perl prettify

6
推荐指数
1
解决办法
1002
查看次数