我正在从多个文件中提取一个字符串,但一个不希望的副作用是输出前的文件名。如何仅使用 grep 抑制文件名输出?
$ grep -i lp lpNet*
lpNet:This was printed via the internet using the lp command.
lpNet:I believe lp doesnt care what the device is.
lpNet1:This was printed via the internet using the lp command.
lpNet1:I believe lp doesnt care what the device is.
lpNet2:This was printed via the internet using the lp command.
lpNet2:I believe lp doesnt care what the device is.
lpNet3:This was printed via the internet using the lp command.
lpNet3:I believe lp doesnt care …
Run Code Online (Sandbox Code Playgroud) 显示文件内容的最简单方法是使用以下cat
命令:
cat file.txt
Run Code Online (Sandbox Code Playgroud)
我可以使用输入重定向获得相同的结果:
cat < file.txt
Run Code Online (Sandbox Code Playgroud)
那么,它们之间有什么区别呢?
我借给朋友一台装有 Ubuntu 12.04 LTS 的计算机,他搞砸了cat
命令。
$ cat testfile.txt
cat: meow!
$
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何解决这个问题吗?请?
的输出which cat
:
/bin/cat
Run Code Online (Sandbox Code Playgroud) 请注意:要查看对此的评论和对此的扩展讨论,其中包括已尝试的所有内容,请查看此聊天室。
今天当我运行cat
命令时,而不是文件的内容,我得到:
Hello, nothing to see here! Move along!
Run Code Online (Sandbox Code Playgroud)
我已经检查以确保cat
文件在我上次使用后没有被更改,所以我确定 cat 文件/bin
没有被更改,所以当我输入时必须运行其他东西cat
,而不是正确的cat
程序......但我不明白这是怎么发生的......
所以我想我应该在这里问一下,所以,为什么会发生这种情况,我该如何解决?
信息更新:
我已经签入了我的.bash_aliases
文件,但我的文件中没有cat
别名,也没有.bashrc
指向正确别名的别名。
的输出strings $(command -v cat)
是:
#!/bin/bash
echo "Hello, nothing to see here! Move along!"
Run Code Online (Sandbox Code Playgroud)
的输出type cat
是:
cat is /bin/cat
Run Code Online (Sandbox Code Playgroud)
该sha256sum
文件的内容cat
是:
a80c46f9c73190d6b46bdf444ade76d05ce113a21dbab7b805dde5027816aa48
Run Code Online (Sandbox Code Playgroud)
的输出strace cat
是:
execve("/bin/cat", ["cat"], [/* 61 vars */]) = 0
brk(0) = 0x1833000
access("/etc/ld.so.nohwcap", F_OK) = -1 …
Run Code Online (Sandbox Code Playgroud) 我已经看到 cat 命令出现在一些在线的东西中,我很好奇cat
在一个只是做一些简单的命令行东西的人的上下文中做了什么以及它的用途。
我可以cat file.txt
获取文件的内容,但我也想添加我自己选择的最后一行。
我试过管道,(cat file.txt ; echo "My final line") |
但只有最后一条线穿过管道。我怎样才能加入猫和最后一行?
编辑澄清一点:我不想修改文件本身。我知道,如果是这种情况,我可以做echo "My final line" >> file.txt
或echo "My final line" | tee -a file.txt
但我只是尝试在此特定命令的上下文中执行附加操作,因此我可以通过管道连接file.txt
and "My final line"
。
我有一个大约 37MB 的非常大的文本日志文件。
使用cat file | more
我可以一次查看一页的文件内容。
问题是这总是从顶部开始 - 旧条目。
如何使它从底部开始,然后将较新的条目逐页向上移动?