小编ДМИ*_*КОВ的帖子

如何打印文件中最长的一行?

我正在寻找最简单的方法来打印文件中最长的行。我做了一些谷歌搜索,令人惊讶的是似乎找不到答案。我经常打印文件中最长行的长度,但我不知道如何实际打印最长行。谁能提供打印文件中最长行的解决方案?提前致谢。

bash awk filter

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

将 OpenSSH 私钥转换为 SSH2 私钥

有没有办法将现有的 OpenSSH 密钥对转换为 SSH2(ssh.com 格式)密钥对?

UPD:因为有一些关于ssh-keygen突然出现的答案,我会解释我来自哪里(这也是“你试过什么?”的一个很好的答案)。

$> diff --report-identical-files <(ssh-keygen -e -f ~/.ssh/id_dsa) <(ssh-keygen -e -f ~/.ssh/id_dsa.pub)
Files /tmp/zshAGGWAK and /tmp/zshPZiIr6 are identical
Run Code Online (Sandbox Code Playgroud)

换句话说,ssh-keygen为私有和公共输入密钥返回相同的密钥(原始文件的哈希值明显不同,我已经检查了两次以确保它们是有效的私有密钥和公共密钥)。似乎ssh-keygen只为私人或公共输入密钥生成公钥。

我做错了还是正常行为?

ssh openssh ssh2 ssh-keygen puttygen

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

24
推荐指数
2
解决办法
9万
查看次数

删除以#开头的行

#鉴于 的左侧和右侧可能有空格,如何删除以 a 开头的行#

  # Master socket provides access to userdb information. It's typically
Run Code Online (Sandbox Code Playgroud)

sed awk perl text-processing regular-expression

11
推荐指数
2
解决办法
3493
查看次数

如何记录 samba 事件?

如何记录 samba 事件?

我有 samba 共享目录,我想知道有人从中下载了什么。实际上,我可以观察iftop以找出谁下载了,但不是什么。

有任何想法吗?

logs samba

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

Bash 颜色输出失败

是 sed 还是 echo 问题?我做错了什么?

$> cat ~/bin/color_test.sh 
#!/bin/bash

ColorOff='\e[0m'       # Text Reset
BWhite='\e[1;37m'      # Bold White

string="test TEST test"
echo -e "$string" | sed -e "s/TEST/${BWhite}TEST${ColorOff}/g"

$> ~/bin/color_test.sh 
test e[1;37mTESTe[0m test
Run Code Online (Sandbox Code Playgroud)

带有粗体突出显示的 TEST 符合预期。

bash sed quoting

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

如何仅在第一行执行操作?

sed 's/.\(.*\)/\1/' myfile
Run Code Online (Sandbox Code Playgroud)

说 myfile 包含:

sed 's/.\(.*\)/\1/' myfile
Run Code Online (Sandbox Code Playgroud)

我只想从第一行中删除第一个字符,但上面将它从所有行中删除。

bash sed text-processing

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

为什么添加冒号会破坏这种 grep 模式?

我使用 执行了搜索grep,但它没有像我预期的那样工作。我在文件中有以下几行:

blacklists/redirector/domains:needyoutube.com
lacklists/redirector/domains:openyoutube.com
blacklists/redirector/domains:proxy-youtube.com
blacklists/redirector/domains:proxytoyoutube.com
blacklists/redirector/domains:streamyoutube.com
blacklists/redirector/domains:unblockyoutube.com
Run Code Online (Sandbox Code Playgroud)

当我运行时:

grep ':youtube.com'
Run Code Online (Sandbox Code Playgroud)

我没有结果。以下工作:

grep 'youtube.com'
Run Code Online (Sandbox Code Playgroud)

我怎样才能逃脱冒号 ( :)?反斜杠(grep '\:youtube.com')不起作用。我使用 RHEL 5,grep (GNU grep) 2.5.1。

更新:我忘记了我想 grep 的条目,这些也存在:

./blacklists/movies/domains:youtube.com
./blacklists/movies/domains:youtube.com.br
Run Code Online (Sandbox Code Playgroud)

我只想获取包含确切域名的字段。所以我想将黑名单链接到 youtube.com,所以我使用“:youtube.com”。

从上面的列表(youtube.com、youtube.com.br)中,我只应该得到 youtube.com,但我什么也没得到。

我说的不够清楚,抱歉。

grep bash search

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

在函数中引用会导致错误

我应该如何编写command变量以获得预期的行为?

#!/bin/bash

function f ( )
{
    echo "$2"
}
command="f --option=\"One Two Three\" --another_option=\"Four Five Six\""
$command

f --option="One Two Three" --another_option="Four Five Six"
Run Code Online (Sandbox Code Playgroud)

第一个调用是错误的,第二个是正确的

$> ./test.sh 
Two
--another_option=Four Five Six
Run Code Online (Sandbox Code Playgroud)

bash quoting

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

获取具有最大元素的数据部分

我有一些以类似 JSON 的格式存储的数据。

{
    {
        value1: 14,
        value2: 12,
        value3: 1
    },
    {
        value1: 4,
        value3: -1
    }
}
Run Code Online (Sandbox Code Playgroud)

如何使用awk(我认为这是最可取的并且与此类问题相关)获得具有最大“value3”值的小节,sed或者grep

所以,这个输出是期望的:

{
    value1: 14,
    value2: 12,
    value3: 1
}
Run Code Online (Sandbox Code Playgroud)

grep sed awk

2
推荐指数
1
解决办法
533
查看次数

连续 2 次 ssh 登录

可能的重复:
常见的多个 SSH 连接文件处理问题

我曾经经常做这样的事情:

home $> ssh user@server1
user@server1's password:
server1 $> ssh user@server2
user@server2's password:
server2 $>
Run Code Online (Sandbox Code Playgroud)

Server2 只能从 server1 获得,所以我必须一直做这样的事情。

所以,问题是。如何在一个命令中连续登录 2 次?

home $> ssh_many user@server1 user@server2
user@server1's password:
user@server2's password:
server2 $>
Run Code Online (Sandbox Code Playgroud)

shell ssh

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