如果这个问题真的很愚蠢,我很抱歉,但这基本上是我一直在思考的问题。假设我运行:
: cat ./somefile.txt
Run Code Online (Sandbox Code Playgroud)
每秒几百次。我的硬盘会死多快?
假设我有一个如下所示的目录结构:
file1.txt
folder1/
file2.txt
folder2/
file3.txt
Run Code Online (Sandbox Code Playgroud)
如何将 file1.txt、file2.txt 和 file3.txt 连接成一个文件?
编辑:这个目录结构只是一个例子。问题是关于如何从给定任何目录结构和任意数量的文件的子文件夹中连接文件。
我的脚本尝试收集执行时 STDIN 中可能存在或不存在的信息,但如果管道为空,则 cat 会挂起。如果 STDIN 中没有任何内容,如何确保我的脚本跳过此步骤?
stdin=$(cat <&0)
Run Code Online (Sandbox Code Playgroud)
请注意,我并不是专门寻找任何引用 /dev/ 的解决方案,因为我希望它可以在 chroot 中使用,无论 /dev/ 是否已安装(如果可能)。
我成为 UNIX 用户的时间比我想的要多,在那段时间里,我接受的训练是期望当给一个程序提供矛盾的开关时,最后一个会获胜。最近我注意到
cat -bn file
Run Code Online (Sandbox Code Playgroud)
和
cat -nb file
Run Code Online (Sandbox Code Playgroud)
两者都-b在-n选项(编号所有行)上使用选项(编号非空行)。我在 BSD 和 Linux 上都有这种行为,所以我认为这不是实现上的怪癖。这是在某处指定的东西吗,我是否因为期望第一个示例对所有行进行编号而感到疯狂?
尝试将几行推送到文件末尾时,出现权限问题。我明白为什么我会收到错误,但我想不出解决它的方法。任何帮助,将不胜感激。
sudo cat > /etc/php5/apache2/php.ini << EOF
# extensions
extension=”memcached.so”
extension=”apc.so”
EOF
Run Code Online (Sandbox Code Playgroud) 我似乎搜索了许多非常相似的问题,但从未找到有用的东西。我正在尝试使用树莓派(第二代)与 Wifi OBDII 传感器进行通信。我可以使用以下命令
nc -C 192.168.0.10 35000
Run Code Online (Sandbox Code Playgroud)
192.168.0.10 是汽车传感器,35000 是端口。这并不重要,因为连接似乎没问题。无论如何,我可以打开一个 nc 实例,然后键入,例如“0145”(传感器代码),作为回报,我在 nc 会话的输出上得到该传感器的值(例如,我的引擎的 RPM) )。效果很好。我想做的是将命令从文本文件传输到 nc 会话中以进行绘图。因此,我的理想结果是将 RPM 值和相关时间的恒定流转储到文本文件中。我可以从那里工作。但是,我并不完全知道该怎么做。我已经设置了一个commands.txt,其中有数千行“0145”,我想读取该文件并将其逐行传递给nc(我可能可以通过睡眠来控制采样间隔),然后读取输出并将其存储到文本文件中。我知道这个问题与标准输入和标准输出以及管道有关,但无论出于何种原因,我一直无法完全理解它。我绝不是其中任何一个的大师。我还想编写整个过程的脚本。
现在,如果我跑
cat <(echo 0145) - | nc -C 192.168.0.10 35000
Run Code Online (Sandbox Code Playgroud)
这为我提供了我想要的终端输出,但仅适用于单个值。但是,一旦我尝试将其放入循环中,将 0145 放入脚本中的 $commands 中,并从 txt 文件中逐行获取 $commands ,它就停止工作。事实上,即使我将其保留为 0145 并且不使用变量,它也会在任何循环或 if 块内停止工作。
所以,长话短说,我想编写脚本将 txt 文件逐行发送到 nc 连接,然后我想将每个响应提取到另一个文件中。如果它是无脚本的,我可以打开该 nc 连接并每 1 秒发送 0145 并获取这些响应(仍然不知道如何将它们传递到文件),但这几乎没有效率。我觉得应该有一种更简单的方法来做到这一点。我有点菜鸟,但我想我可以在这里尝试一下。任何帮助是极大的赞赏
我是一个 UNIX 菜鸟,但我正在尝试运行 cat 命令来制作一个简单的文本文件,并且效果很好,但是在制作文件后 cat 永远不会退出。例如,我输入 cat > ~/mytextfile.txt 并按回车键,文件已创建,但我的光标停留在空行上。
我可以将代码打印到 STDOUT 来模拟 Ctrl+c 内部的行为cat吗?例如,我希望我的脚本打印出cat命令,后跟文件的内容,如下所示:
cat > /my/file/name.txt
I want this line in the filename above
and this one
and this one as well but I want to exit cat in the next line
Ctrl+c somehow
Run Code Online (Sandbox Code Playgroud)
我想要的行为是让用户复制上面的行,然后将它们粘贴到终端窗口中,无需再打字,就有一个name.txt包含三行内容的文件,保存,然后返回到交互式终端提示。
有任何想法吗?