我想将一些文本文件连接到终端中的一个大文件中.我知道我可以使用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) 是这样的:
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与文件输入结合使用,而不是原始文本...
我有多个文件,我想连接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)
什么是正确的方法呢?
这可能是许多常见问题解答 - 而不是使用:
cat file | command
Run Code Online (Sandbox Code Playgroud)
(这被称为无用的猫),正确的方式应该是:
command < file
Run Code Online (Sandbox Code Playgroud)
在第二,"正确"的方式 - 操作系统不必产生额外的过程.
尽管知道这一点,我继续使用无用的猫有两个原因.
更美观 - 我喜欢数据仅从左到右均匀移动.而且它更容易更换cat别的东西(gzcat,echo,...),添加第二个文件或插入新的过滤器(pv,mbuffer,grep...).
我"觉得"在某些情况下可能会更快.更快,因为有2个进程,1st(cat)执行读取而第二个执行任何操作.它们可以并行运行,这意味着有时可以更快地执行.
我的逻辑是否正确(第二个原因)?
我试图在我的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但失败的权限也被拒绝了)
我有一堆文件坐在文件夹中
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都塞进一个文件中?
当你这样做
cat some-symlink-to-some-real-file
Run Code Online (Sandbox Code Playgroud)
它显示了真实文件的内容,而不是符号链接本身的内容.有没有办法看到它实际上是什么?
我想将此输出存储在一个字符串中:
> 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)
非常感谢你!
如何从流中的每行文本中删除第一个单词?即
$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可能会这样做,但我找不到任何这方面的例子.任何帮助表示赞赏!谢谢!