我知道以下命令将打印到某个模式的第一次出现,但不包括后来的出现:
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) 我想在 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) 我执行了以下行:
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在其他人的系统上尝试了上述命令,它运行良好,没有产生我得到的错误。
我正在尝试制作一个 bash 脚本,greps 值并将计数和值一起输出
像这样的东西
grep -c 'Thenis' example.txt > example.lst
Run Code Online (Sandbox Code Playgroud)
但在该列表文件中,不仅要显示计数,还要显示我这样输入的值
Thenis: 123
Run Code Online (Sandbox Code Playgroud) 我刚刚在bash脚本中运行了以下命令
rsync -av -update --dry-run --delete $EX "$FROM" "$TO"
Run Code Online (Sandbox Code Playgroud)
同步运行,--dry-run被忽略(幸运的是这次没问题)。
有没有人看到--dry-run这里会被忽略的任何原因?
我在 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) 例如,一个文件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 终端中执行此操作?
在做一些工作时,我遇到了这个
$ 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]"
我正在尝试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),但我不想grep为sdb1,因为在未来它可能不是根设备。
对我来说,在没有任何额外功能的情况下获得根设备的最佳方式是什么?
我知道我们可以检索 SSL 证书
openssl s_client -connect host:port
Run Code Online (Sandbox Code Playgroud)
命令。有没有办法找出处理 SSL 流量的进程使用的证书的文件系统位置?我是不是很不讲理?