小编yuk*_*say的帖子

如何使用grep将输出拆分为两个文件?

我有一个mycommand.sh不能运行两次的脚本。我想将输出拆分为两个不同的文件,一个文件包含与正则表达式匹配的行,另一个文件包含与正则表达式不匹配的行。我希望拥有的基本上是这样的:

./mycommand.sh | grep -E 'some|very*|cool[regex].here;)' --match file1.txt --not-match file2.txt
Run Code Online (Sandbox Code Playgroud)

我知道我可以将输出重定向到一个文件,然后使用和不使用 -v 选项重定向到两个不同的 grep 并将它们的输出重定向到两个不同的文件。但我只是想知道是否可以用一个 grep 来做到这一点。

那么,是否有可能在一行中实现我想要的?

grep io-redirection

15
推荐指数
2
解决办法
7939
查看次数

为什么我的 wget 在 ssh 连接丢失后没有死?

ssh编辑到我的服务器并运行wget -r -np zzz.aaa/bbb/ccc它开始工作。然后我的Internet连接(我家)中断了,我开始担心假设wget已经hupPED因为ssh连接丢失,因此终端已经死了。但是后来我ssh在我的服务器上发现它仍在运行,并将输出放入wget.log并下载内容。有人可以向我解释一下这里可能发生了什么吗?

这就是ps给我的:

PID   %CPU %MEM    VSZ    RSS TTY     STAT START   TIME COMMAND
32283  0.6 29.4 179824 147088 ?       S    14:00   1:53 wget -r -np zzz.aaa/bbb/ccc
Run Code Online (Sandbox Code Playgroud)

?在列中(问号)是什么意思tty

ssh terminal signals wget

14
推荐指数
2
解决办法
1654
查看次数

如何在 bash 中制作一个特殊的可扩展短语?

我发现自己<command> --help | grep <feature>每天都在做非常非常频繁的事情。我想知道是否有可能使类似的东西^^扩展到"--help | grep"然后我这样做:

ls ^^ size
Run Code Online (Sandbox Code Playgroud)

这将执行以下操作:

ls --help | grep size
Run Code Online (Sandbox Code Playgroud)

bash bash-expansion

12
推荐指数
4
解决办法
1022
查看次数

如何将逗号分隔的列表作为参数提供给下一个命令

我有一个脚本s1,它输出一个用 ',' 分隔的数字列表,例如1,2,3,4. 现在我想将这些数字s2作为参数提供给脚本,以便 s2 将在每个数字上运行并在单独的行中输出其结果。例如,如果 s2 将数字乘以 2,这将是我正在寻找的结果:

2
4
6
8
Run Code Online (Sandbox Code Playgroud)

我现在正在做的是:

s1 | xargs -d "," | xargs -n1 s2
Run Code Online (Sandbox Code Playgroud)

但是我觉得我这样做很愚蠢!所以我的问题是:

正确的做法是什么?

我的解决方案的问题是它两次调用 xargs 并迭代输入两次,这在我看来当然是不合理的!答案xargs -d "," -n1似乎不错,但我不确定它是否只迭代一次。如果是这样,请在您的回答中验证这一点,我会接受。顺便说一句,我宁愿不使用 Perl,因为它仍在迭代两次,而且 Perl 在许多系统上可能不存在。

pipe xargs arguments

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

如何在没有 sudo 的情况下获取 ldap 用户列表?

我对我想知道用户列表的服务器具有非 sudo ssh 访问权限,我认为该服务器正在使用 ldap,因为:

-bash-4.2$ cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd: files ldap
group: files ldap
shadow: files ldap

hosts: files dns
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis
Run Code Online (Sandbox Code Playgroud)

但:

-bash-4.2$ cd /etc/sssd/
-bash: cd: /etc/sssd/: No such file …
Run Code Online (Sandbox Code Playgroud)

linux users ssh ldap

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

archlinux - 如何使用 pacman 搜索获取软件包的已安装大小

有时,当我想发现一个新软件来使用时,我必须在多个软件包之间进行比较。对我来说重要的因素之一是包装尺寸,因为我经常倾向于使用轻型包装来处理所有事情。

pacman -Ss命令非常有用,但我真的很想知道包的大小,以便我可以进行比较。我尝试过pacman -Ssi,但没有成功。有什么办法可以在结果中添加一些信息吗pacman -Ss

我也尝试过pacman -Ss -p --print-format "%n: %s",但这也没有用。

arch-linux awk

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

mktemp:无法通过模板创建目录权限被拒绝

起初我想在我没有 root 访问权限的服务器上安装一个包。由于我没有 root 访问权限,因此我尝试自己构建它,但在配置阶段出现错误。

这是我运行的命令:

cd ~
git clone https://github.com/stella-emu/stella.git
cd stella/
./configure --prefix=$HOME/atari
Run Code Online (Sandbox Code Playgroud)

然后我收到以下错误:

Running Stella configure...
mkdir: cannot create directory `/tmp/cg-2059': Permission denied
config.guess: cannot create a temporary directory in /tmp
Looking for C++ compiler... none found!
Run Code Online (Sandbox Code Playgroud)

有什么办法可以解决这个问题吗?

以下是一些诊断信息

-bash-4.2$ ls -ld /tmp
drwxr-xr-x 7 root root 4096 Dec  9 20:39 /tmp
-bash-4.2$ find /tmp -mindepth 1 -maxdepth 1 -printf x | wc -c
12
-bash-4.2$ mkdir ~/tmp
-bash-4.2$ ls
amin  bs94  Maildir  public_html  skel.tar.gz  speedtest_cli.py  speedtest.py …
Run Code Online (Sandbox Code Playgroud)

permissions software-installation tmp

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

如何消极地使用grep?

我想做与 grep 做的相反的事情。我想排除具有特定模式的输出行。

我想要的是一个命令“ngrep”:

$ output
hi how are you?
hi hi haw are you?
hu hi how are you?
haw haw haw are you?

$ output | ngrep 'haw' :
hi how are you?
hu hi how are you?
Run Code Online (Sandbox Code Playgroud)

grep

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