标签: pipe

管道后gzip不起作用

出于某种原因,gzip 不起作用。它给了我一个空文件

/usr/bin/mysqldump --opt -u root -ppassword database > database.sql | gzip > database.sql.gz
Run Code Online (Sandbox Code Playgroud)

database.sql 已正确创建且大小正确。

然而 database.sql.gz 只有 20kb 并且它包含一个空文件。

谢谢

package-management gzip pipe

6
推荐指数
2
解决办法
1570
查看次数

如何将“find”的输出通过管道传输到“cd”?

我应该怎么做才能在文件夹列表中搜索文件并将当前目录更改为文件目录?

我试过了, find -name script.py | cd但没有用(不是我所期望的)。

感谢您的帮助!

find pipe

6
推荐指数
2
解决办法
5726
查看次数

断管错误信息

当我在 Ubuntu 14.10 beta 2 中启动时,我在屏幕上看到以下消息:

error while reading descriptor: broken pipe:
Run Code Online (Sandbox Code Playgroud)

然后屏幕变黑片刻,然后继续进入登录屏幕。

任何人都可以告诉我这条消息的含义以及我需要做些什么?

pipe 14.10

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

如何将 bash 或 shell 命令的输出通过管道传输到剪贴板?

为了最大限度地减少鼠标使用(可访问性和健康原因),我如何将标准输出到操作系统剪贴板?

也就是说,我想做类似的事情:

$ drush uli | copy-this-to-clipbaord

$ drush uli > copy-this-to-clipbaord

可能的?

gnome bash clipboard accessibility pipe

6
推荐指数
2
解决办法
5138
查看次数

管道输出命令列

我正在使用 lolcat 来获取 ls 的彩色输出。为此,我已将 /usr/bin/ls 复制到 /usr/bin/lsslss(以避免由于别名无法接受 $* 或 $@ 而导致无限循环),并且我添加了该函数:

ls(){ lsslss $* | lolcat; } 到 .bashrc

问题是,当我使用 ls 时,管道一次通过管道传输每个文件,因此它显示为一个长列表,如下所示:

在此处输入图片说明

而不是这样的表:

在此处输入图片说明

要将其更改为表,我可以将输出通过管道传输到列命令中。但是当我这样做时,它又变回了一个长列表(可能是因为列只对其进行格式化而不是将其更改为行)

我原本打算这样做:

ls(){ lsslss $* | columns | lolcat; }

无论如何,我想知道有没有办法通过管道传输原始输出而不是使用 | 能够将列的输出通过管道传输到 lolcat 中?

提前致谢。抱歉,如果我的问题措辞不当或难以理解。我几乎总能找到已经问过的问题,所以我不经常发布问题。

command-line bash pipe stdout

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

日期管道 - 错误还是我的错误?

我遇到了 date 命令的奇怪行为:

echo '1 JAN 2023' | LC_ALL=en_US.utf8  date -d -
Run Code Online (Sandbox Code Playgroud)

这会产生明显错误的输出:

Sun Jun 11 12:00:00 AM CEST 2023
Run Code Online (Sandbox Code Playgroud)

但这没关系:

LC_ALL=en_US.utf8  date -d '1 Jan 2023'  # Sun Jan  1 12:00:00 AM CET 2023
Run Code Online (Sandbox Code Playgroud)

这也可以:

my_date='1 JAN 2023'
LC_ALL=en_US.utf8  date -d  "$my_date" # Sun Jan  1 12:00:00 AM CET 2023
Run Code Online (Sandbox Code Playgroud)

我无法让管道版本工作。是错误还是我做错了什么?

bash pipe date

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

使用带有 bundle show 和 gnome-open 的管道

(我在 stackoverflow 上了一个几乎相同的问题,但没有回应。我希望问问 ubuntu 是一个更好的地方,所以我在这里重新提问。)

我没有经常使用管道,想知道我是否做错了什么。如果我运行:

bundle show jquery-rails
Run Code Online (Sandbox Code Playgroud)

我得到以下信息:

/home/u1104/.rvm/gems/ruby-1.9.3-p194/gems/jquery-rails-2.0.0
Run Code Online (Sandbox Code Playgroud)

如果我跑:

gnome-open /home/u1104/.rvm/gems/ruby-1.9.3-p194/gems/bootstrap-sass-2.0.0
Run Code Online (Sandbox Code Playgroud)

Nautilus 打开到正确的位置。所以我想省去将一个命令的结果复制并粘贴到另一个命令的麻烦,我认为这就是管道的用途......但是当我运行以下命令时:

bundle show jquery-rails | gnome-open
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Usage: gnome-open <url>
/home/u1104/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.4/lib/bundler/vendor/thor/shell/basic.rb:63:in `flush': Broken pipe (Errno::EPIPE)
    from /home/u1104/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.4/lib/bundler/vendor/thor/shell/basic.rb:63:in `say'
...
Run Code Online (Sandbox Code Playgroud)

有没有办法让我的结果bundle show在鹦鹉螺中自动打开?

command-line nautilus pipe

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

从某事中只读取 n 首行

当我说类似的话

curl http://example.com/123
Run Code Online (Sandbox Code Playgroud)

我只想阅读 n 首行,我该怎么做?我知道那是这样的:

curl http://example.com/123 | ??? 
Run Code Online (Sandbox Code Playgroud)

command-line console pipe

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

如何在一段时间内使用管道?

我想在 grep 找到或找不到我可以写的东西时循环:

while grep 'matches' inLogFile.txt
do
  echo good.
  sleep 10
done
Run Code Online (Sandbox Code Playgroud)

或者

while grep -v 'notHereYet' inLogFile.txt
do
  sleep 2
done
echo -e '\a'Yo! It is here now.
Run Code Online (Sandbox Code Playgroud)

我在交互式 shell 提示符下输入这些。

所以我想反复检查df卷实际安装的时间,有点像:

while df | grep -v '/toBeMounted'
do
  sleep 2
done
echo -e '\a'Hey, I think you wanted to know that /toBeMounted is available finally.
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何将管道分组到条件中。

我知道我可以这样做:

while [ -z "$(df|grep '/toBeMounted')" ]
do
  sleep 2
done
echo -e '\a'Okay that is finally present now. …
Run Code Online (Sandbox Code Playgroud)

bash scripts pipe

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

将过滤后的输出重定向到文件

我将输出重定向到一个文件中,然后得到如下信息:

|  id  | code | color_code | 
-------+------+------------+
|11A00B|  15  | 9129102    |
|11A00C|  16  | 9129103    |
(2 rows)

|  id  | code | color_code | 
-------+------+------------+
|11B00B|  25  | 9129152    |
|11B00C|  36  | 9129162    |
(2 rows)

|  id  | code | color_code | 
-------+------+------------+
|11C00B|  22  | 9129107    |
|11C00C|  9   | 9129108    |
(2 rows)
Run Code Online (Sandbox Code Playgroud)

如何将其转换为 csv 样式,例如:

|  id  | code | color_code | 
|11A00B|  15  | 9129102    |
|11A00C|  16  | 9129103 …
Run Code Online (Sandbox Code Playgroud)

command-line bash pipe text-processing

4
推荐指数
2
解决办法
318
查看次数