小编hee*_*ayl的帖子

使用 sed 从第一行打印到包含模式最后一次出现的行?

我知道以下命令将打印到某个模式的第一次出现,但不包括后来的出现:

sed -n '1,/<pattern>/p' <file>

sed '/<pattern>/q' <file>
Run Code Online (Sandbox Code Playgroud)

例如,假设我有一个包含以下几行的文件:

this is a cow   
this is a goat  
this is a some fish  
this is a fishie  
this is a fish  
this is a lion  
this is a cat
Run Code Online (Sandbox Code Playgroud)

现在输出:

$ sed '/fish/q' file  

this is a cow  
this is a goat  
this is a some fish 

$ sed -n '1,/fish/p' file  

this is a cow  
this is a goat  
this is a some fish 
Run Code Online (Sandbox Code Playgroud)

我希望输出从第一行开始,直到包含最后一次出现的的行,即我想要的输出是:

this is a …
Run Code Online (Sandbox Code Playgroud)

sed text-processing

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

bash 输出前的换行符(“\n”)

我想在 bash 中修改我的输出以更好地查看输出。简单地放在\n这之前。我怎样才能改变它.bashrc?例如:

这是默认的:

root@comp:$ abc
bash: abc: command not found
Run Code Online (Sandbox Code Playgroud)

我要这个:

root@comp:$ abc

bash: abc: command not found
Run Code Online (Sandbox Code Playgroud)

bash prompt output

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

/dev 错误中没有 null

我执行了以下行:

which lsb_release 2&>1 /dev/null
Run Code Online (Sandbox Code Playgroud)

输出:

error: no null in /dev
Run Code Online (Sandbox Code Playgroud)

当我使用ls /dev/null命令验证错误时,null出现在/dev. 为什么会发生此错误?我无法破译这个问题。

更新

我只是which在其他人的系统上尝试了上述命令,它运行良好,没有产生我得到的错误。

command-line shell

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

取grep值,把count和value一起输出

我正在尝试制作一个 bash 脚本,greps 值并将计数和值一起输出

像这样的东西

grep -c 'Thenis' example.txt > example.lst
Run Code Online (Sandbox Code Playgroud)

但在该列表文件中,不仅要显示计数,还要显示我这样输入的值

Thenis: 123
Run Code Online (Sandbox Code Playgroud)

grep shell-script

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

rsync 忽略空运行

我刚刚在bash脚本中运行了以下命令

rsync -av -update  --dry-run --delete $EX "$FROM" "$TO"
Run Code Online (Sandbox Code Playgroud)

同步运行,--dry-run被忽略(幸运的是这次没问题)。

有没有人看到--dry-run这里会被忽略的任何原因?

rsync

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

合并两个文件的内容并汇总第 2 列的内容?

我在 2 文件中有以下数据:

文件 1

apple,2
orange,1
grapes,4
pear,8
Run Code Online (Sandbox Code Playgroud)

文件 2

apple,1
grapes,2
orange,4
Run Code Online (Sandbox Code Playgroud)

我如何发布处理这两个文件以获得以下内容?

文件 3

apple,3
grapes,6
orange,5
pear,8
Run Code Online (Sandbox Code Playgroud)

text-processing

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

如何将文件内容写入新文件并删除重复行

例如,一个文件file1.txt包含

Hi how are you  
hello  
today is monday  
hello  
I am fine  
Hi how are you 
Run Code Online (Sandbox Code Playgroud)

处理后file1.txt应该写入file2.txt,内容应该是这样的,不要重复相同的行。

Hi how are you  
hello  
today is monday  
I am fine  
Run Code Online (Sandbox Code Playgroud)

我可以使用什么命令在 linux 终端中执行此操作?

linux command-line vi files

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

奇怪的“回声”行为

在做一些工作时,我遇到了这个

$ echo [Login]
  g
$ echo [kilo]
  k
$ echo [gauke]
  e g k
$ echo [quasi-star]
  k m q
Run Code Online (Sandbox Code Playgroud)

导致此输出的后台发生了什么?echo [quasi-star]刚刚丢失的输出是介意给出甚至不在那里的信件。

注意:是的,我知道我可以得到我的输出echo "[Login]"

shell echo

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

获取根设备?

我正在尝试grep lsblk

lsblk | grep '/'
Run Code Online (Sandbox Code Playgroud)

唯一的问题是它返回给我这个:

??sdb1      8:17   1   7.3G  0 part /
??sdc1      8:33   1   7.6G  0 part /media
Run Code Online (Sandbox Code Playgroud)

这是伟大的,除了我只想要返回的根设备(sdb1),但我不想grepsdb1,因为在未来它可能不是根设备。

对我来说,在没有任何额外功能的情况下获得根设备的最佳方式是什么?

linux grep

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

通过连接到端口查找 SSL 证书位置

我知道我们可以检索 SSL 证书

openssl s_client -connect host:port 
Run Code Online (Sandbox Code Playgroud)

命令。有没有办法找出处理 SSL 流量的进程使用的证书的文件系统位置?我是不是很不讲理?

ssl openssl certificates

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