加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell – 使用cat从标准输入读取数据并将其写入文件而不是无用的

发布时间:2020-12-15 16:59:55 所属栏目:安全 来源:网络整理
导读:我想编写一个 shell脚本,它接受来自标准输入的数据,将其写入文件然后对其执行某些操作. 出于这个问题的目的,让我们假设,我的脚本应该接受标准输入,将其写入in.txt,然后从中grep字符串“foo”并将输出写入out.txt. 我写了这个剧本. cat in.txtgrep foo in.txt
我想编写一个 shell脚本,它接受来自标准输入的数据,将其写入文件然后对其执行某些操作.

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

我写了这个剧本.

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

正如下面的一些答案中所解释的那样,人们可以使用

tee in.txt | grep foo > out.txt

如果它是一些其他命令而不是grep不能从标准输入读取怎么办?它会成为猫的有效用途吗?

这是chmod的一个这样的例子.

cat > in.txt
chmod -v 600 in.txt > out.txt

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

我想知道我的代码是否对cat进行了无用的使用,或者这是一个完全有效的情况,可以像这样调用cat吗?

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

注意:我关注适用于任何POSIX兼容shell的答案,而不仅仅是Bash或Linux.

它是猫的有效用途,但是发球指令是你想要的.它旨在将所有内容写入文件和标准输出.
tee in.txt | grep foo > out.txt

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读