linux - IO 重定向到另一个文件

标签 linux shell redirect io io-redirection

我正在尝试更改文本文件中的成绩,然后使用 >> 运算符将输出定向到新的文本文件,而不是覆盖旧文件。

但是,该文本文件中包含大量其他学生的成绩,并且该文件的布局方式为每行包含一名学生的一项考试的成绩,因此一名学生有多行描述不同考试的不同考试结果。

我如何在不同的行中专门搜索“A、B、C、D”以及我的名字“Joe Bloggs”旁边的成绩?

十个人

最佳答案

您可以使用grep命令:

cat grades.txt | grep "Joe Bloggs" | grep "A\|B\|C\|D" >> output.txt

如果您想将 Joe Bloggs 旁边的所有 B、C 或 D 更改为所有 A,您将像这样使用 sed:

cat grades.txt | grep "Joe Bloggs" | grep "A\|B\|C\|D" | sed 's/\(B\|C\|D\)/A/g' >> output.txt

使用awk:

cat grades.txt | grep "Joe Bloggs" | grep "A\|B\|C\|D" | awk '{gsub(/B|C|D/,"A");print}' >> output.txt

使用perl:

cat grades.txt | grep "Joe Bloggs" | grep "A\|B\|C\|D" | perl -e "s/B|C|D/A/" -p >> output.txt

关于linux - IO 重定向到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28354865/

相关文章:

Linux Makefile : Why include/config/%. conf 总是被构建?

linux - 带命令的 AWK

python - 根据按下的键值执行 shell 脚本

Linux 重定向;可以在重定向之间切换吗?

.htaccess - 使用 .htaccess 重定向我的附属链接并在 Google Analytics 中跟踪

检查 C/*nix 中指定用户的文件访问权限

linux - 在脚本中执行 cqlsh

c - 实现我自己的 "strings"工具——GNU 字符串找到的缺失序列

html - 单击/提交到 iframe 后刷新整个页面

c++ - 如何等待 n 秒才能打开命名管道?