标签: cat

连接多个文件但包含文件名作为节标题

我想将一些文本文件连接到终端中的一个大文件中.我知道我可以使用cat命令执行此操作.但是,我希望每个文件的文件名都在该文件的"数据转储"之前.有人知道怎么做吗?

我目前有什么:

file1.txt = bluemoongoodbeer

file2.txt = awesomepossum

file3.txt = hownowbrowncow

cat file1.txt file2.txt file3.txt
Run Code Online (Sandbox Code Playgroud)

期望的输出:

file1

bluemoongoodbeer

file2

awesomepossum

file3

hownowbrowncow
Run Code Online (Sandbox Code Playgroud)

unix terminal header concatenation cat

324
推荐指数
9
解决办法
17万
查看次数

167
推荐指数
7
解决办法
18万
查看次数

linux cat命令可以用于将文本写入文件吗?

是这样的:

cat "Some text here." > myfile.txt
Run Code Online (Sandbox Code Playgroud)

可能?这样的内容myfile.txt现在会被覆盖为:

Some text here.
Run Code Online (Sandbox Code Playgroud)

这对我不起作用,但也不会引起任何错误.

特别感兴趣的是cat基于a 的解决方案(不是vim/vi/emacs等).在线显示的所有示例都cat与文件输入结合使用,而不是原始文本...

linux cat

125
推荐指数
10
解决办法
26万
查看次数

连接文件并在文件之间插入新行

我有多个文件,我想连接cat.让我们说吧

File1.txt 
foo

File2.txt
bar

File3.txt
qux
Run Code Online (Sandbox Code Playgroud)

我想连接,以便最终文件看起来像:

foo

bar

qux
Run Code Online (Sandbox Code Playgroud)

而不是平常 cat File*.txt > finalfile.txt

foo
bar 
qux
Run Code Online (Sandbox Code Playgroud)

什么是正确的方法呢?

unix linux cat

109
推荐指数
7
解决办法
10万
查看次数

无用的猫吗?

这可能是许多常见问题解答 - 而不是使用:

cat file | command
Run Code Online (Sandbox Code Playgroud)

(这被称为无用的猫),正确的方式应该是:

command < file
Run Code Online (Sandbox Code Playgroud)

在第二,"正确"的方式 - 操作系统不必产生额外的过程.
尽管知道这一点,我继续使用无用的猫有两个原因.

  1. 更美观 - 我喜欢数据仅从左到右均匀移动.而且它更容易更换cat别的东西(gzcat,echo,...),添加第二个文件或插入新的过滤器(pv,mbuffer,grep...).

  2. 我"觉得"在某些情况下可能会更快.更快,因为有2个进程,1st(cat)执行读取而第二个执行任何操作.它们可以并行运行,这意味着有时可以更快地执行.

我的逻辑是否正确(第二个原因)?

shell command-line cat

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

为什么sudo cat给出了权限被拒绝但sudo vim工作正常?

我试图在我的arch的pacman.conf文件中自动添加存储库源,但是echo在我的shell脚本中使用该命令.但是,它失败了: -

sudo echo "[archlinuxfr]" >> /etc/pacman.conf
sudo echo "Server = http://repo.archlinux.fr/\$arch" >> /etc/pacman.conf
sudo echo " " >> /etc/pacman.conf

-bash: /etc/pacman.conf: Permission denied
Run Code Online (Sandbox Code Playgroud)

如果我使用vim手动更改/etc/pacman.conf,可以这样做

sudo vim /etc/pacman.conf
Run Code Online (Sandbox Code Playgroud)

并且退出vim :wq,一切正常,我的pacman.conf已经手动更新,没有"Permission denied"投诉.

为什么会这样?我该如何sudo echo上班?(顺便说一下,我也尝试过使用sudo cat但失败的权限也被拒绝了)

bash shell echo cat

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

将所有文件递归到单个文件中

我有一堆文件坐在文件夹中

data\A\A\A\json1.json
data\A\A\A\json2.json
data\A\A\B\json1.json
...
data\Z\Z\Z\json_x.json
Run Code Online (Sandbox Code Playgroud)

我想把所有的jsons都塞进一个文件中?

unix linux bash grep cat

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

有没有办法看到符号链接的实际内容?

当你这样做

cat some-symlink-to-some-real-file
Run Code Online (Sandbox Code Playgroud)

它显示了真实文件的内容,而不是符号链接本身的内容.有没有办法看到它实际上是什么?

linux filesystems shell symlink cat

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

连接字符串中的数值

我想将此输出存储在一个字符串中:

> x=1:5
> cat("hi",x)
hi 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)

所以我用paste,但我得到了这个不同的结果:

> paste("hi",x)
[1] "hi 1" "hi 2" "hi 3" "hi 4" "hi 5"
Run Code Online (Sandbox Code Playgroud)

知道如何获取字符串:

"hi 1 2 3 4 5"
Run Code Online (Sandbox Code Playgroud)

非常感谢你!

string r concatenation paste cat

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

删除文本流中的第一个单词

如何从流中的每行文本中删除第一个单词?即

$cat myfile 
some text 1
some text 2
some text 3
Run Code Online (Sandbox Code Playgroud)

我想要的是什么

$cat myfile | magiccommand 
text 1
text 2
text 3
Run Code Online (Sandbox Code Playgroud)

我怎么用bash来解决这个问题呢?我可以使用awk'{print $ 2 $ 3 $ 4 $ 5 ....}'但这很麻烦,会导致所有空参数的额外空格.我当时认为sed可能会这样做,但我找不到任何这方面的例子.任何帮助表示赞赏!谢谢!

bash awk sed cat

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

标签 统计

cat ×10

bash ×4

linux ×4

shell ×3

unix ×3

concatenation ×2

awk ×1

command-line ×1

echo ×1

file-io ×1

filesystems ×1

grep ×1

header ×1

paste ×1

r ×1

sed ×1

string ×1

symlink ×1

terminal ×1