小编Gil*_*il'的帖子

根据第三列排序

我正面临一个巨大的 4 列文件。我想根据第 3 列在标准输出中显示排序的文件:

cat myFile | sort -u -k3
Run Code Online (Sandbox Code Playgroud)

这足以执行这个技巧吗?

sort files

182
推荐指数
4
解决办法
46万
查看次数

将上一个命令的输出作为参数传递给下一个

我有一个将数据输出到 stdout ( command1 -p=aaa -v=bbb -i=4)的命令。输出行可以具有以下值:

rate (10%) - name: value - 10Kbps
Run Code Online (Sandbox Code Playgroud)

我想 grep 该输出以存储该“速率”(我想管道在这里会很有用)。最后,我希望该速率是第二个命令的参数值(假设command2 -t=${rate}

我这边看起来很棘手;我想更好地了解如何使用管道、grep、sed 等。

我已经尝试了很多这样的组合,但我对这些感到困惑:

$ command1 -p=aaa -v=bbb -i=4 | grep "rate" 2>&1 command2 -t="rate was "${rate}
Run Code Online (Sandbox Code Playgroud)

command-line pipe command-substitution output arguments

179
推荐指数
5
解决办法
47万
查看次数

Rsync 过滤器:仅复制一种模式

我正在尝试创建一个目录,该目录将包含所有且仅我从 LaTeX 编译的 PDF。我喜欢将每个项目放在一个单独的文件夹中,所有项目都放在一个名为LaTeX. 所以我尝试运行:

rsync -avn *.pdf ~/LaTeX/ ~/Output/
Run Code Online (Sandbox Code Playgroud)

它应该找到所有的pdf~/LaTeX/并将它们传输到输出文件夹。这不起作用。它告诉我没有找到“ *.pdf”的匹配项。如果我省略此过滤器,该命令将列出 LaTeX 下所有项目文件夹中的所有文件。所以这是 *.pdf 过滤器的问题。我尝试用~/我的主目录的完整路径替换,但这没有效果。

我正在使用 zsh。我尝试在 bash 中做同样的事情,甚至使用列出每个子目录中每个文件的过滤器......这里发生了什么?

为什么 rsync 不能理解我的 pdf only 过滤器?


好的。所以更新:不,我正在尝试

rsync -avn --include="*/" --include="*.pdf" LaTeX/ Output/
Run Code Online (Sandbox Code Playgroud)

这给了我整个文件列表。我猜是因为一切都匹配第一个模式......

backup rsync wildcards

178
推荐指数
6
解决办法
19万
查看次数

如何在 Linux 中将签名 .png 添加到 PDF?

我有我的书面签名的扫描副本,我需要将其应用于签名块中的某些文档。我过去一直在 Windows 上执行此操作,但现在我只有 Linux。

这可能吗?如何在 Linux (Gnome 3) 中将签名图像添加到 PDF 文件?

pdf evince

178
推荐指数
10
解决办法
15万
查看次数

Unix/Linux 取消删除/恢复已删除的文件

是否有恢复/取消删除已删除文件的命令rm

$ rm -rf /path/to/myfile
Run Code Online (Sandbox Code Playgroud)

我怎样才能恢复myfile?如果有这样的工具,我该如何使用它?

linux data-recovery deleted-files

167
推荐指数
9
解决办法
84万
查看次数

如何在 cron 选项卡作业中执行`date`?

我想为日志文件名中包含当前小时的 cron 脚本创建一个日志文件。这是我尝试使用的命令:

0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log
Run Code Online (Sandbox Code Playgroud)

不幸的是,我在运行时收到此消息:

/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)

我曾尝试date以各种方式逃避该部分,但运气不佳。是否可以在 crontab 文件中内嵌进行此操作,或者我是否需要创建一个 shell 脚本来执行此操作?

cron quoting command-substitution

165
推荐指数
4
解决办法
15万
查看次数

如何在解压过程中选择目录名称

假设我有名为 的文件ugly_name.tar,提取后将成为ugly_name目录。我可以使用什么命令来pretty_name代替生成的目录名称?

tar rename

164
推荐指数
4
解决办法
13万
查看次数

有没有办法将 nohup 输出重定向到 nohup.out 以外的日志文件?

我经常使用该程序,nohup以便我的进程不受挂断的影响。所以如果我想让程序program免于挂断,我使用命令

nohup program &
Run Code Online (Sandbox Code Playgroud)

其中,&并将其进程在后台运行。

启动时,nohup给我信息:

nohup:将输出附加到 `nohup.out'

有没有办法将输出发送到文件以外的文件nohup.out?我经常想使用 运行同一目录中的多个进程nohup,但如果我这样做,所有输出都会集中在一个nohup.out文件中。

手册页(例如,here)似乎没有指定日志文件的选项。你能确认一下吗?另外,您对我如何解决这个问题有什么想法吗?

io-redirection nohup

162
推荐指数
3
解决办法
36万
查看次数

查找根文件系统中的所有大文件

我有一个 linux 服务器,它目前的空间使用情况如下:

/dev/sda3              20G   15G  4.2G  78% /
/dev/sda6              68G   42G   23G  65% /u01
/dev/sda2              30G  7.4G   21G  27% /opt
/dev/sda1              99M   19M   76M  20% /boot
tmpfs                  48G  8.2G   39G  18% /dev/shm
Run Code Online (Sandbox Code Playgroud)

如你看到的。/为 78%。我想检查一下,哪些文件或文件夹正在占用空间。

我试过这个:

find . -type d -size +100M
Run Code Online (Sandbox Code Playgroud)

结果如下:

./u01/app/june01.dbf
./u01/app/temp01.dbf
./u01/app/smprd501.dbf
./home/abhishek/centos.iso
./home/abhishek/filegroup128.jar
Run Code Online (Sandbox Code Playgroud)

现在这是我的问题。我只想要位于消耗空间的文件夹中的那些文件的名称,/而不是 at/u01/home。由于/是一切的基础,它向我展示了我服务器的每个文件。

是否有可能获得占 78% 的大文件/

find disk-usage

162
推荐指数
3
解决办法
46万
查看次数

如何通过 .gz 文件递归 grep?

我正在使用脚本定期下载将原始 .eml 压缩为 .gz 文件的 gmail 邮件。该脚本为每一天创建一个文件夹,然后将每条消息压缩到其自己的文件中。

我想要一种在这个档案中搜索“字符串”的方法。

单独的 Grep 似乎无法做到这一点。我也试过 SearchMonkey。

grep compression search recursive files

162
推荐指数
5
解决办法
39万
查看次数