小编msc*_*lli的帖子

如何为 GNU sort 的 --compress-program 选项指定附加参数?

sort --compress-program=/bin/gzip工作正常,但如何将选项传递给压缩程序(例如--best--fast)?

sort --compress-program=/bin/gzip\ --best 失败并显示错误消息

无法执行压缩程序

因为这样做sort --compress-program="/bin/gzip --best"sort --compress-program=/bin/gzip\\\ --best

谷歌搜索错误只返回生成消息的源代码。

有没有办法在不编写包装器或定义别名的情况下做到这一点?

shell compression sort arguments

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

转置文件并替换缺失值

我有来自机器的名称读数,有时这些读数会被复制。

如果未找到读数,则将其留为空白。

Name Instrument Rep R1 R2 R3 
N1 I1 1 1 2 3 
N2 I1 1 1 3 4
N1 I1 2 2 3 4
N3 I1 2 3 4 5
N1 I2 1 1 2 3 
N2 I2 1 1 3 4
N2 I2 2 2 3 4
N3 I2 1 3 4 5
N1 I3 1 1   4  
N2 I3 1 2 5   
N3 I3 1   6 
N3 I3 2     1
Run Code Online (Sandbox Code Playgroud)

首先,我想通过使用它们的平均值(每个名称每个位置)来合并重复。然后,我想转置这些数据并用点 ( .)替换缺失的值。

我想要的输出是

Reading …
Run Code Online (Sandbox Code Playgroud)

sed awk perl text-processing

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

与远程用户共享 ssh 会话/密钥

假设以下设置:

  1. 用户bob在他的工作站上本地工作foo
  2. 用户alice在她的工作站上本地工作bar
  3. 用户bob可以baz:22通过存储在bob@foo:.ssh/id_rsa.
  4. 用户alice可以通过 ssh 访问bob工作站,foo:22但不能访问服务器baz

有没有办法bobsshbaz共享他的会话(通过端口转发?)或密钥(通过ssh-agent转发?),以便alice可以bazbarvia foo(假设bob身份在foo)访问


附录:

还有一些我应该澄清的想法:

  1. bob不想alice知道他的密码
  2. bob不希望alice能够运行rm -rf /home/bobfoo(上baz不过这将是罚款很明显)。

正如@mukesh-sai-kumar建议那样,人们可以从那里alice登录foo(作为 …

ssh ssh-tunneling ssh-agent

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

awk ifs 和变量 - 不能将变量从一行传递到后续行

首先,我是 awk 的新手,所以如果它很简单,请原谅。

我正在尝试生成一个包含路径的文件。我为此使用了一个ls -LT清单以及一个 awk 脚本:

这是输入文件的示例:

vagrant@precise64:/vagrant$ cat structure-of-home.cnf

/home/:

vagrant

/home/vagrant:

postinstall.sh
Run Code Online (Sandbox Code Playgroud)

这将是预期的输出:

/home/vagrant
/home/vagrant/postinstall.sh
Run Code Online (Sandbox Code Playgroud)

awk 脚本应执行以下操作:

  1. 检查线路是否具有:在其
  2. 如果是,将字符串(没有:)分配给变量($path在我的情况下)
  3. 如果该行为空,则不打印任何内容
  4. 如果它不为空并且不包含:打印$path当前行$0

这是脚本:

BEGIN{
path=""
}
{
    if ($1 ~ /\:/)
        {
        sub(/\:/,"",$1)
        if (substr($1, length,1) ~ /\//)
            {
            path=$1;
            }
        else
            {
            path=$1"/"
            }
        }
    else if (length($0) == 0)
        {}
    else
        print $path$1
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我运行脚本时,出现以下混乱:

vagrant@precise64:/vagrant$ awk -f format_output.awk structure-of-home.cnf
vagrantvagrant
postinstall.shpostinstall.sh
Run Code Online (Sandbox Code Playgroud)

请问我做错了什么?

awk

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