在目录中找不到匹配的文件。*

问题描述 投票:0回答:1

我只想搜索路径third_party/docker/rec/中的所有

*.*
文件,然后将它们传递给sed以替换字符串。 av_ 与一些_

找到合适的常规文件并传递给 sed 来执行字符串替换

我的目录内容在下面,我找不到它们来传递 sed 进行替换。

find third_party/docker/rec/.* -type f -maxdepth 3 -name '.*'

没有输出

Command> ls -ltr third_party/docker/rec/
total 40
drwxr-xr-x   4 alxr  staff   128 Apr 26 10:16 example
-rw-r--r--   1 alxr  staff   143 Apr 26 10:16 constants.bzl
drwxr-xr-x  15 alxr  staff   480 Apr 26 10:16 rules
-rw-r--r--   1 alxr  staff  6434 Apr 26 10:16 defs.bzl
drwxr-xr-x  22 alxr  staff   704 Apr 26 10:16 base_images
-rw-r--r--   1 alxr  staff     0 Apr 26 10:47 BUILD
-rw-r--r--   1 alxr  staff     0 Apr 26 10:47 BUILD-e
-rw-r--r--   1 alxr  staff    40 Apr 26 10:47 OWNERS
-rw-r--r--   1 alxr  staff    40 Apr 26 10:47 OWNERS-e

找到后运行命令。

Command> sed -i '' -e 's/av_/product_/g' third_party/docker/rec/* `find third_party/docker/rec/.* -type f -maxdepth 0 -print0`

输出

sed: third_party/docker/rec/base_images: in-place editing only works for regular files
bash awk sed
1个回答
0
投票

想通了..

归功于此链接在 Mac 和 Linux 上的文本文件中递归搜索和替换

find third_party/docker/rec/ -type f -name 'BUILD' -exec sed -i '' s/av_/maglev_/g {} +

© www.soinside.com 2019 - 2024. All rights reserved.