gpt4 book ai didi

shell - 使用 cat 从标准输入读取数据并将其写入文件不是对 cat 的无用使用吗?

转载 作者:行者123 更新时间:2023-12-04 19:50:35 28 4
gpt4 key购买 nike

我想编写一个 shell 脚本,它接受来自标准输入的数据,将它写入一个文件,然后用它做一些事情。

出于这个问题的目的,让我们假设我的脚本应该接受标准输入,将其写入 in.txt ,然后 grep 一个字符串 "foo"从中输出并将输出写入 out.txt .

我写了这个脚本。

cat > in.txt
grep foo in.txt > out.txt

正如下面的一些答案所解释的那样,人们可以使用
tee in.txt | grep foo > out.txt

如果它是其他命令而不是 grep 呢?不从标准输入读取?那么它是否成为 cat 的有效用法?

这是一个这样的例子 chmod .
cat > in.txt
chmod -v 600 in.txt > out.txt

要求在脚本结束后输入和输出都必须在文件中可用。

我想知道我的代码是否无用地使用了 cat或者如果这是一个完全有效的场景,当 cat可以这样调用吗?

另外,有没有办法在不使用 cat 的情况下重写此代码?这样它就不会无用地使用任何命令?

注意:我关心的答案适用于任何符合 POSIX 的 shell,而不仅仅是 Bash 或 Linux。

最佳答案

它是 cat 的有效使用但tee命令就是你想要的。它旨在将所有内容写入文件和标准输出。

tee in.txt | grep foo > out.txt

关于shell - 使用 cat 从标准输入读取数据并将其写入文件不是对 cat 的无用使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34553289/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com