我有一个文件夹,里面装满了*.java文件。它包含以下方法:
options.addArguments(//"--no-sandbox", // trying to make browser opening faster, but this argument can have security implications
"--disable-extensions" // avoid the chrome automation extension crash
, "--no-proxy-server" // trying to make browser opening faster
, "--proxy-server='direct://'" // trying to make browser opening faster
, "--proxy-bypass-list=*" // trying to make browser opening faster
, "--proxy-server=" // trying to make browser opening faster
// ,"--blink-settings=imagesEnabled=false" // disable images loading for faster testing
);我想将其修改如下:
options.addArguments("--no-sandbox", // trying to make browser opening faster, but this argument can have security implications
"--disable-dev-shm-usage"
, "--disable-extensions" // avoid the chrome automation extension crash
, "--no-proxy-server" // trying to make browser opening faster
, "--proxy-server='direct://'" // trying to make browser opening faster
, "--proxy-bypass-list=*" // trying to make browser opening faster
, "--proxy-server=" // trying to make browser opening faster
// ,"--blink-settings=imagesEnabled=false" // disable images loading for faster testing
);我在论坛上搜索并找到了一些解决方案,复制字符串是我想要的,所以我尝试了以下几点:
grep --null -rl //"--no-sandbox" -l | tr '\n' ' ' | xargs --null sed -i 's///"--no-sandbox"/"--no-sandbox",
"--disable-dev-shm-usage|,/g'但它给我带来了以下错误:
sed: -e expression #1, char 6: unknown option to `s'我想old_string和new_string格式是这里的问题。我怎样才能解决这个问题,或者以更有效率和更有意义的方式去做。
发布于 2021-09-21 05:10:45
如果GNU sed可用,不如:
sed -i -zE 's#//("--no-sandbox"[^\n]+\n[[:blank:]]+)#\1"--disable-dev-shm-usage"\n , #' file.java-z选项sed将行分隔符分配给NUL字符,它允许使用换行符分隔整行。
如果希望递归地对*.java文件执行相同的替换,请尝试:
find . -type f -name "*.java" -print0 | xargs -0 sed -i -zE 's#//("--no-sandbox"[^\n]+\n[[:blank:]]+)#\1"--disable-dev-shm-usage"\n , #'由于-i选项强制覆盖原始文件,请确保在测试之前备份文件(或将备份后缀设置为-i选项)。
https://stackoverflow.com/questions/69253394
复制相似问题