出于某种原因,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 并且它包含一个空文件。
谢谢
我应该怎么做才能在文件夹列表中搜索文件并将当前目录更改为文件目录?
我试过了,
find -name script.py | cd但没有用(不是我所期望的)。
感谢您的帮助!
当我在 Ubuntu 14.10 beta 2 中启动时,我在屏幕上看到以下消息:
error while reading descriptor: broken pipe:
Run Code Online (Sandbox Code Playgroud)
然后屏幕变黑片刻,然后继续进入登录屏幕。
任何人都可以告诉我这条消息的含义以及我需要做些什么?
为了最大限度地减少鼠标使用(可访问性和健康原因),我如何将标准输出到操作系统剪贴板?
也就是说,我想做类似的事情:
$ drush uli | copy-this-to-clipbaord
$ drush uli > copy-this-to-clipbaord
可能的?
我正在使用 lolcat 来获取 ls 的彩色输出。为此,我已将 /usr/bin/ls 复制到 /usr/bin/lsslss(以避免由于别名无法接受 $* 或 $@ 而导致无限循环),并且我添加了该函数:
ls(){ lsslss $* | lolcat; }
到 .bashrc
问题是,当我使用 ls 时,管道一次通过管道传输每个文件,因此它显示为一个长列表,如下所示:
而不是这样的表:
要将其更改为表,我可以将输出通过管道传输到列命令中。但是当我这样做时,它又变回了一个长列表(可能是因为列只对其进行格式化而不是将其更改为行)
我原本打算这样做:
ls(){ lsslss $* | columns | lolcat; }
无论如何,我想知道有没有办法通过管道传输原始输出而不是使用 | 能够将列的输出通过管道传输到 lolcat 中?
提前致谢。抱歉,如果我的问题措辞不当或难以理解。我几乎总能找到已经问过的问题,所以我不经常发布问题。
我遇到了 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)
我无法让管道版本工作。是错误还是我做错了什么?
(我在 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在鹦鹉螺中自动打开?
当我说类似的话
curl http://example.com/123
Run Code Online (Sandbox Code Playgroud)
我只想阅读 n 首行,我该怎么做?我知道那是这样的:
curl http://example.com/123 | ???
Run Code Online (Sandbox Code Playgroud) 我想在 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) 我将输出重定向到一个文件中,然后得到如下信息:
| 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)