标签: cat

让更少的工作像猫一样,如果只有一个充满文字的屏幕

在我的 Debian 机器上,less总是打开备用屏幕来显示内容。

如果只显示 2 或 3 行,这很烦人。我想less

  • 作为寻呼机工作,如果有超过一屏的信息

  • 并像 一样工作cat,如果没有。

显然,less-F“单屏”案例的标志:

-F 或 --quit-if-one-screen

如果整个文件可以显示在第一个屏幕上,则使 less 自动退出。

但在我的情况下,它只是再次退出,并且没有显示任何信息。它更像是cat /dev/null,因此不是很有用。

有谁知道如何实现这种less行为?

cat less pager

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

Xargs 和 Wget 在一个小时后停止工作

在具有双核和 4GB RAM 的 Windows XP 上使用 Cygwin 运行脚本

cat url_list.txt | xargs -P50 wget -i
Run Code Online (Sandbox Code Playgroud)

我试图通过4GBURL来下载(大约 4300 万)

大约第一个小时工作正常,然后 Bash shell 和下载停止,即使它只有 2% 通过 URL 列表。

有什么想法可能是错的?

调试为什么一小时后停止的最佳方法是什么?

url wget cat xargs

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

无法在 linux 中 cat 名称中有空格的文件

我相信有一个简单的修复,但无法调试出来。

我有一个名为“ file name with space”的cat文件,我如何从 Linux bash 获取这个文件?

linux bash cat

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

如何关闭使用 cat > 命令创建的文件?

我正在学习如何在 Mac 上使用 git,我正在尝试使用“cat >”命令在我的一个分支中添加一个文件。我遇到的问题是我想结束在终端中编辑文件,但我不知道如何关闭它。我猜我需要改变“模式”,因为缺乏更好的术语。我该如何进行?

unix cat

7
推荐指数
2
解决办法
5万
查看次数

从多个 fifo 并行读取非阻塞

有时我会坐在一堆并行运行的程序的输出先进先出。我想合并这些先进先出。天真的解决方案是:

cat fifo* > output
Run Code Online (Sandbox Code Playgroud)

但这需要第一个fifo在从第二个fifo读取第一个字节之前完成,这会阻塞并行运行的程序。

另一种方式是:

(cat fifo1 & cat fifo2 & ... ) > output
Run Code Online (Sandbox Code Playgroud)

但这可能会混合输出,从而在输出中得到半行。

当从多个fifos读取时,必须有一些合并文件的规则。通常逐行执行它对我来说就足够了,所以我正在寻找可以做的事情:

parallel_non_blocking_cat fifo* > output
Run Code Online (Sandbox Code Playgroud)

它将并行读取所有先进先出,并一次将输出与整行合并。

我可以看到编写该程序并不难。您需要做的就是:

  1. 打开所有先进先出
  2. 对所有这些进行阻塞选择
  3. 从具有数据的 fifo 中非阻塞地读取到该 fifo 的缓冲区中
  4. 如果缓冲区包含完整的行(或记录),则打印出该行
  5. 如果所有fifos都关闭/eof:退出
  6. 转到 2

所以我的问题不是:可以做到吗?

我的问题是:它已经完成了吗,我可以安装一个工具来做到这一点吗?

merge cat parallel-processing fifo

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

PowerShell 中 Bash 的 cat -n 的等价物是什么?

我想要cat一个文件并输出它输出的每一行的行号。

但是,在 PowerShell 中,cat输出一个数组。因此,问题实际上变成了:如何在输出到控制台时打印每个项目的索引......?

我试过这样的事情:

$k = cat foo.js
$k | foreach { $index = $k.IndexOf($_) + 1; write "$index : $_"; } | more
Run Code Online (Sandbox Code Playgroud)

它给了我一些奇怪的结果。一些行号重复。什么是优雅且更可靠的方法来做到这一点?

linux powershell bash command-line cat

7
推荐指数
2
解决办法
8001
查看次数

cat 可以用来克隆一个分区吗?

例如,我可以这样做:

cat /dev/sda1 > /dev/sda2
Run Code Online (Sandbox Code Playgroud)

而不是使用 dd,如果没有,为什么这不起作用?

linux bash clone cat dd

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

Cat 中的转义变量

我正在尝试通过 bash 提示符通过 ssh 编写一个 shell 脚本。但是,shell 坚持解释我想写入的任何变量,而不是将其直接写入文件。例如,cat <<EOF >checkup.sh\n'$command'EOF简单地写成''文件。我该怎么$command写?我已经尝试了所有我能想到的实用逃生方法。

如果它改变了任何东西,我将使用phpseclib通过 PHP 进行。

ssh environment-variables cat php

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

无论如何,通过SSH可以`cat`两个远程`tail -f`流吗?

我想将生成的两个连续文本流合二为一tail -f,并在同一屏幕上观看它们。是否可以?如果有帮助,两个文本流都是面向行的(例如日志)。

更新:只是为了清楚起见,这两个tail -f流不在本地文件上,而是来自两个远程 SSH 会话,例如ssh remote-host tail -f file.log

cat tail

5
推荐指数
2
解决办法
2882
查看次数

cat wc -l 计算具有定义行结尾的行(例如 Mac OS X 特定的)

作为任何命令行用户,我有时想使用众所周知的命令计算文本文件中的行数:

cat some_text_file | wc -l
Run Code Online (Sandbox Code Playgroud)

我在 Mac OS X 上遇到了这个问题,据我所知,它与不同的行尾有关(有时我从使用 OS X 特定行尾的 Mac OS X 版本的 Excel 输出,这对于 wc -l 来说是无法理解的; 在将行结尾更改为 UNIX 样式后,例如在 SublimeText 中,一切都按预期工作)。

所以我的问题:

我可以以某种方式wc -l将行结束类型作为应该使用的 somee 参数传递吗?如果是,请提供一些示例。

unix bash cat macos

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