相关疑难解决方法(0)

如何检查sed是否更改了文件

我试图找到一种聪明的方法来确定传递给sed的文件是否已成功更改.

基本上,我想知道文件是否已被更改,而不必查看文件修改日期.

我需要这个的原因是因为如果sed成功替换了模式,我需要做一些额外的事情.

我目前有:

    grep -q $pattern $filename
    if [ $? -eq 0 ]
    then
        sed -i s:$pattern:$new_pattern: $filename
                # DO SOME OTHER STUFF HERE
    else
        # DO SOME OTHER STUFF HERE
    fi
Run Code Online (Sandbox Code Playgroud)

上面的代码有点贵,我希望能在这里使用一些黑客.

linux bash shell ubuntu sed

15
推荐指数
6
解决办法
2万
查看次数

为什么测试"$?" 一个反模式,看一个命令是否成功?

在这里看到测试是否$?是零(成功)或其他东西(失败)是反模式,但我无法在其他任何地方找到它.

坚持维基百科反模式的定义:"反模式(或反模式)是对反复出现的问题的常见反应,这种反复出现的问题通常是无效的,并且可能会产生极大的反作用." 为什么这会是反模式?

bash shell sh

8
推荐指数
1
解决办法
476
查看次数

sed 是否有一个选项仅用于检查文件中字符串是否存在?

sed 是否有一个类似于 的选项grep -q,它根据是否实际找到字符串匹配而返回 1 或 0?

我问的原因是在某些情况下我使用sed特定的方式,例如在给定行号之后查找第一个匹配项,或者设置捕获组并以这种方式获取字符串,所以我想看看是否有sed内置的东西可以检查如果返回任何内容,因为我想将错误返回给用户,并在找不到匹配项时退出我的 bash 脚本

bash sed

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

bash ×3

sed ×2

shell ×2

linux ×1

sh ×1

ubuntu ×1