标签: cat

如何实现水平猫?

标准cat逐行连接文件(逐行,如果你愿意的话)。我发现自己最近越来越需要水平 cat命令;即一个命令,它接受一个文件列表并将它们水平连接起来,逐列。到目前为止,我已经使用了临时解决方法,但我想知道是否存在一个很好的解决方案。

为了澄清,请考虑以下两个文件之间cathcat的比较:

$ cat a.dat 1.dat
a b
c d
1 2
3 4
$ hcat -s ' ' a.dat 1.dat
a b 1 2
c d 3 4
Run Code Online (Sandbox Code Playgroud)

(与cat我们需要指定分隔符不同,因为按照惯例,UNIX 文件的末尾没有列分隔符。)

scripting text-processing files cat

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

如何让 bash 在 cat 命令后将提示放在新行上?

我得到的:

host:~ user$ cat example.txt
some texthost:~ stas$
Run Code Online (Sandbox Code Playgroud)

我想得到什么:

host:~ user$ cat example.txt
some text
host:~ stas$
Run Code Online (Sandbox Code Playgroud)

有没有办法让我的cat行为像这样?

我在 Mac OS X 上使用 bash。

osx bash prompt cat

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

有没有办法在文本文件/脚本中只显示未注释的行?

很多时候,当手动搜索文件时,有太多的评论让您眼花缭乱,您开始希望有一种方法可以让您只显示那些没有评论的行。

有没有办法用 cat 或其他工具跳过评论?我猜有一种方法,它涉及一个正则表达式。我希望它只是显示而不是实际删除任何行等。

注释采用# 形式,我使用 zsh 作为我的 xterm。

grep zsh text-processing regular-expression cat

26
推荐指数
3
解决办法
5万
查看次数

命令显示文件的前几行和最后几行

我有一个包含多行的文件,每一行的开头都有一个时间戳,例如

[Thread-3] (21/09/12 06:17:38:672) logged message from code.....
Run Code Online (Sandbox Code Playgroud)

所以,我经常从这个日志文件中检查两件事。

  1. 还给出了具有全局条件和开始时间的前几行。
  2. 最后几行,有退出状态和一些其他信息。

是否有任何快速方便的单个命令可以让我只显示文件的前几行和最后几行?

logs tail text-processing cat head

25
推荐指数
4
解决办法
6万
查看次数

以正确的顺序将大量文件集中在一起

我有大约 15,000 个名为file_1.pdbfile_2.pdb等的文件。我可以通过执行以下操作来按顺序对其中的几千个文件进行分类:

cat file_{1..2000}.pdb >> file_all.pdb
Run Code Online (Sandbox Code Playgroud)

但是,如果我对 15,000 个文件执行此操作,则会出现错误

-bash: /bin/cat: Argument list too long
Run Code Online (Sandbox Code Playgroud)

我已经看到通过这样做解决了这个问题,find . -name xx -exec xx但这不会保留文件加入的顺序。我怎样才能做到这一点?

find brace-expansion files cat

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

cat 和 '>' 之间的区别将文件归零

这两个命令在如何将文件清零方面有什么不同吗?后者是做前者的更短的方法吗?幕后发生了什么?

两个都

$ cat /dev/null > file.txt

$ > file.txt 
Run Code Online (Sandbox Code Playgroud)

屈服

-rw-r--r--  1 user  wheel  0 May 18 10:33 file.txt
Run Code Online (Sandbox Code Playgroud)

io-redirection cat

24
推荐指数
3
解决办法
2万
查看次数

如何拖尾/grep/awk 文件的最后 N 个字节,而不是行

我有一个应用程序记录到纯文本日志文件 (myapp.log),但它似乎没有在每个日志条目的末尾写入换行符。如果我执行一个命令,就像tail -n 50 myapp.log我实际上收到数百“行”文本(日志条目)一样。

这个日志文件非常大,大约1GB,谁知道最后一次CR和/或LF是多久之前插入的。我怎么能抓住说,最后 2MBs 例如?

tail cat

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

Ctrl+D 结束终端行输入

如果我做

$ cat > file.txt
Run Code Online (Sandbox Code Playgroud)

文本Ctrl- DCtrl-D

问题 1:如果我不按 Enter,为什么我必须按Ctrl-D两次?

如果我做

$ cat > file.txt
Run Code Online (Sandbox Code Playgroud)

pa bam pshhh Ctrl-Z

[2]+  Stopped         cat > file.txt
$ cat file.txt
$ cat > file.txt
Run Code Online (Sandbox Code Playgroud)

pa bam pshhh

Ctrl——Z

[2]+  Stopped         cat > file.txt
$ cat file.txt
pa bam pshhh
Run Code Online (Sandbox Code Playgroud)

为什么第二次是 1 行的文件?

command-line terminal cat

23
推荐指数
2
解决办法
3万
查看次数

如何在一个命令行操作中将目录中的所有文件连接在一起?

我在一个目录中有 1000 个 csv 文件。我想按顺序将它们连接在一起。它们被命名为 img_size_1.csv 到大约 img_size_1000.csv 这个答案很接近但假设一个列表文件。这可以在单线中完成吗?

command-line directory xargs files cat

22
推荐指数
2
解决办法
8万
查看次数

cat 打开不存在的文件时出现不同的错误

以下两个命令都尝试打开一个不存在的文件foo,但错误信息略有不同。可能是什么原因?

$ cat foo
cat: cannot open foo
$ cat < foo
-bash: foo: No such file or directory
Run Code Online (Sandbox Code Playgroud)

command-line io-redirection cat

22
推荐指数
2
解决办法
4095
查看次数