Bash 如何搜索和删除所有包含“的行”;xyx";作为子字符串递归,仅从dir1 dir2 dir3。。迪恩

Bash 如何搜索和删除所有包含“的行”;xyx";作为子字符串递归,仅从dir1 dir2 dir3。。迪恩,bash,replace,sed,find,alias,Bash,Replace,Sed,Find,Alias,我想弄清楚以下几点 1) 如何搜索和删除所有以“xyx”作为子字符串的行 递归地,仅从dir1 dir2 dir3。。迪恩,我试过了 喜欢但不工作 或 2) 获取后如何在bashrc中为上述命令编写别名 上面的答案与下面的类似 有人能帮忙吗?什么意思work@Azad表示正在执行命令,但不删除具有子字符串xyz的行。但是如果我只传递一个dir,那么它就可以“finddir1-typef-execsed-r-i”/xyz/d“{}+”正常工作。我想知道怎样才能搜索特定的多个目录。@ypp它对我有用

我想弄清楚以下几点

1) 如何搜索和删除所有以“xyx”作为子字符串的行 递归地,仅从dir1 dir2 dir3。。迪恩,我试过了 喜欢但不工作

2) 获取后如何在bashrc中为上述命令编写别名 上面的答案与下面的类似


有人能帮忙吗?

什么意思work@Azad表示正在执行命令,但不删除具有子字符串xyz的行。但是如果我只传递一个dir,那么它就可以“finddir1-typef-execsed-r-i”/xyz/d“{}+”正常工作。我想知道怎样才能搜索特定的多个目录。@ypp它对我有用(有两个目录)。它很可能与您的bash或版本有关
find dir1 dir2 dir3 -type f -exec sed -r -i "/xyz/d" {} +  
find . -path dir1 -path dir2 -path dir3 -type f -exec sed -r -i "/xyz/d" {} +  
myfunction() {
    find $1 ... -type f -exec sed -r -i "/xyz/d" {} +
OR  
    find $1 $2 $k -type f -exec sed -r -i "/xyz/d" {} +
OR  
    find $1 -type f -exec sed -r -i "/$2/d" {} +
}
alias foo=myfunction