gpt4 book ai didi

linux - 在 shell 脚本中编辑标准输入文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:05:11 24 4
gpt4 key购买 nike

我在读取标准输入文件、编辑标准输入以及将输出写入其他文件时遇到问题。因此,shell 将使用如下命令运行:

./shellName < inputFile > outputFile

所以我这样写我的shell:

read INPUT
tr '[:upper:]' '[:lower:]' INPUT
grep "<td>" INPUT | sed -r 's/<td>([^<]*)<\/td>/\1/g' #to search all line that contain <td> and delete <td> and <\/td>
echo $INPUT

然后,我才意识到read命令是逐行读取标准输入。代码本身不起作用。我尝试将所有大写更改为小写,然后删除包含 .我应该怎么办?如果我需要创建一个临时文件,我该如何在 shell 中创建一个临时文件?

最佳答案

其实比你想象的要容易得多。默认情况下,tr 从标准输入 (fd 0) 读取。脚本中的命令从脚本“继承”标准输入,除非您重定向它。所以像

#!/bin/sh
tr '[:upper:]' '[:lower:]' | sed -E 's/<td>([^<]*)<\/td>/\1/g'

我将 -r 更改为 -E,因为我的平台需要这样做。

关于linux - 在 shell 脚本中编辑标准输入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14408430/

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