小编Lau*_*ren的帖子

grep 可以返回真/假还是有其他方法

作为此脚本的一部分,我需要能够检查给定的第一个参数是否与文件的第一个单词匹配。如果是,则退出并显示错误消息;如果没有,请将参数附加到文件中。我了解如何编写if语句,但不了解如何grep在脚本中使用。我知道这grep看起来像这样

grep ^$1 schemas.txt
Run Code Online (Sandbox Code Playgroud)

我觉得这应该比我做的要容易得多。

我在声明中收到错误“参数太多” if。我摆脱了之间的空间grep -q,然后得到了一个预期的错误二元运算符。

if [ grep -q ^$1 schemas.txt ]
then
        echo "Schema already exists. Please try again"
        exit 1
else
        echo "$@" >> schemas.txt
fi
Run Code Online (Sandbox Code Playgroud)

grep

194
推荐指数
3
解决办法
53万
查看次数

如果在特定列中遇到参数,则 awk 删除行

我需要遍历未知大小的整个文件,并删除给定单词(作为参数 1 传入)出现在指定列中的任何行。此外,我需要跟踪删除了多少行。我假设这是 awk 的工作,但我遇到了很多麻烦。我尝试过使用 awk match,但除了其他一些语法问题之外,我无法将参数翻译成一个词。

示例(文件.txt):

Katie 1234 4567 blue
Ben 3456 2345 purple
Alex 7896 6789 blue

$ script.sh blue 4
Run Code Online (Sandbox Code Playgroud)

将文件编辑为:

Ben 3456 2345 purple
Run Code Online (Sandbox Code Playgroud)

和输出: 2 lines removed

我更感兴趣的是了解我在做什么,而不仅仅是获取代码。

awk text-processing

4
推荐指数
1
解决办法
3795
查看次数

标签 统计

awk ×1

grep ×1

text-processing ×1