linux - 使用 grep 命令,我可以打印与我的命令匹配的数据,但是当数据不可用时如何打印错误?
问题描述
我的子目录和该 .json 文件中有可用的 device.json 文件,我正在尝试打印 data = xxx 值,并且我正在使用以下 Grep 命令,但我也想在 device.json 文件不可用时打印错误子目录之一。
寻找 。-名称“device.json”| xargs grep -E '数据'
解决方案
尝试类似:
find . -type d |
while IFS= read -r dir; do
file="$dir/device.json"
if [ -f "$file" ]; then
grep 'data' "$file"
else
printf '"%s" does not exist\n' "$file"
fi
done
只有当您的目录名称可以包含换行符时,它才会失败。显然grep 'data'
不是在 json 文件中找到所需值的可靠方法,但这是一个单独的问题。
推荐阅读
- c# - 如何在 2sxc 应用程序剃刀视图中添加复选框?
- css - 如何将页脚中的文本略微移动
- javascript - 如何对二维数组进行切片?
- r - 如何计算用户偏好?
- reactjs - 在我的 React 应用程序中,mobx @action 没有触发 - mobx , mobx-react-lite
- git - 在 git 中将文件从 Stage 复制到工作目录
- rest - 如何使 PUT 请求 RESTful?
- javascript - 从 attributes.id.value.replace 获取特定单词
- python - 创建具有多个变量条件的新数据框并提取失败的原因 - pandas
- android - 如何将我的位置从颤振应用程序分享到 whatsapp 号码?