使用grep从匹配的所有文件中查找字符串

一、查找指定文件名的文件路径

acat@acat-xx:node_modules$ find . -name "util.js"

 

./_util@0.11.1@util/util.js
./_vuepress@1.8.2@vuepress/lib/util.js
./_@babel_core@7.13.8@@babel/core/lib/config/util.js
./_regenerator-transform@0.14.5@regenerator-transform/lib/util.js
./_regenerator-transform@0.14.5@regenerator-transform/src/util.js
./_dom-scroll-into-view@2.0.1@dom-scroll-into-view/dist-src/util.js
./_json5@2.2.0@json5/lib/util.js
./_dagre@0.8.5@dagre/lib/rank/util.js
./_dagre@0.8.5@dagre/lib/util.js
./_bluebird@3.7.2@bluebird/js/release/util.js
./_@antv_g-base@0.5.5@@antv/g-base/lib/bbox/util.js
./_@antv_g-base@0.5.5@@antv/g-base/lib/util/util.js
./_@antv_g-base@0.5.5@@antv/g-base/esm/bbox/util.js
./_@antv_g-base@0.5.5@@antv/g-base/esm/util/util.js
./_@antv_component@0.3.9@@antv/component/lib/util.js
./_@antv_component@0.3.9@@antv/component/src/util.js
./_@vuepress_core@1.8.2@@vuepress/core/lib/node/plugin-api/util.js
./_@vuepress_core@1.8.2@@vuepress/core/lib/client/util.js
./_util@0.10.3@util/test/node/util.js
./_util@0.10.3@util/util.js
./_core-util-is@1.0.2@core-util-is/lib/util.js
./_uri-js@4.4.1@uri-js/dist/esnext/util.js
./_@webassemblyjs_ast@1.9.0@@webassemblyjs/ast/scripts/util.js
./_ant-design-vue@1.7.2@ant-design-vue/lib/vc-rate/src/util.js
./_ant-design-vue@1.7.2@ant-design-vue/lib/table/util.js
./_ant-design-vue@1.7.2@ant-design-vue/lib/tree/util.js
./_ant-design-vue@1.7.2@ant-design-vue/lib/vc-mentions/src/util.js
./_ant-design-vue@1.7.2@ant-design-vue/lib/vc-tree-select/src/util.js
./_ant-design-vue@1.7.2@ant-design-vue/lib/vc-align/util.js
./_ant-design-vue@1.7.2@ant-design-vue/lib/vc-tree/src/util.js
./_ant-design-vue@1.7.2@ant-design-vue/lib/vc-select/util.js
./_ant-design-vue@1.7.2@ant-design-vue/lib/vc-menu/util.js
./_ant-design-vue@1.7.2@ant-design-vue/es/vc-rate/src/util.js
./_ant-design-vue@1.7.2@ant-design-vue/es/table/util.js
./_ant-design-vue@1.7.2@ant-design-vue/es/tree/util.js
./_ant-design-vue@1.7.2@ant-design-vue/es/vc-mentions/src/util.js
./_ant-design-vue@1.7.2@ant-design-vue/es/vc-tree-select/src/util.js
./_ant-design-vue@1.7.2@ant-design-vue/es/vc-align/util.js
./_ant-design-vue@1.7.2@ant-design-vue/es/vc-tree/src/util.js
./_ant-design-vue@1.7.2@ant-design-vue/es/vc-select/util.js
./_ant-design-vue@1.7.2@ant-design-vue/es/vc-menu/util.js
./_source-map@0.5.7@source-map/lib/util.js
./_@antv_g2plot@2.3.13-beta.1@@antv/g2plot/lib/plots/treemap/interactions/util.js
./_@antv_g2plot@2.3.13-beta.1@@antv/g2plot/lib/plots/scatter/util.js
./_@antv_g2plot@2.3.13-beta.1@@antv/g2plot/lib/utils/hierarchy/util.js
./_@antv_g2plot@2.3.13-beta.1@@antv/g2plot/esm/plots/treemap/interactions/util.js
./_@antv_g2plot@2.3.13-beta.1@@antv/g2plot/esm/plots/scatter/util.js
./_@antv_g2plot@2.3.13-beta.1@@antv/g2plot/esm/utils/hierarchy/util.js
./_source-map@0.5.6@source-map/lib/util.js
./_@antv_g2@4.1.12@@antv/g2/lib/animate/animation/util.js
./_@antv_g2@4.1.12@@antv/g2/lib/geometry/shape/interval/util.js
./_@antv_g2@4.1.12@@antv/g2/lib/geometry/shape/point/util.js
./_@antv_g2@4.1.12@@antv/g2/lib/geometry/shape/area/util.js
./_@antv_g2@4.1.12@@antv/g2/lib/geometry/shape/line/util.js
./_@antv_g2@4.1.12@@antv/g2/lib/geometry/shape/edge/util.js
./_@antv_g2@4.1.12@@antv/g2/lib/geometry/label/layout/pie/util.js
./_@antv_g2@4.1.12@@antv/g2/lib/interaction/action/util.js
./_@antv_g2@4.1.12@@antv/g2/esm/animate/animation/util.js
./_@antv_g2@4.1.12@@antv/g2/esm/geometry/shape/interval/util.js
./_@antv_g2@4.1.12@@antv/g2/esm/geometry/shape/point/util.js
./_@antv_g2@4.1.12@@antv/g2/esm/geometry/shape/area/util.js
./_@antv_g2@4.1.12@@antv/g2/esm/geometry/shape/line/util.js
./_@antv_g2@4.1.12@@antv/g2/esm/geometry/shape/edge/util.js
./_@antv_g2@4.1.12@@antv/g2/esm/geometry/label/layout/pie/util.js
./_@antv_g2@4.1.12@@antv/g2/esm/interaction/action/util.js
./_gh-pages@3.1.0@gh-pages/lib/util.js
./_@antv_scale@0.1.5@@antv/scale/lib/auto/util.js
./_@antv_scale@0.1.5@@antv/scale/src/auto/util.js
./_@antv_hierarchy@0.6.6@@antv/hierarchy/lib/util.js
./_@antv_hierarchy@0.6.6@@antv/hierarchy/src/util.js
./_@antv_g2@3.5.17@@antv/g2/lib/animate/animation/util.js
./_@antv_g2@3.5.17@@antv/g2/lib/geometry/shape/interval/util.js二、基于第一步查找到的所有文件,查找其中是否存在某个字符串(isNumber)
./_@antv_g2@3.5.17@@antv/g2/lib/geometry/shape/point/util.js
./_@antv_g2@3.5.17@@antv/g2/lib/geometry/shape/area/util.js
./_@antv_g2@3.5.17@@antv/g2/lib/geometry/shape/line/util.js
./_@antv_g2@3.5.17@@antv/g2/lib/geometry/shape/edge/util.js
./_@antv_g2@3.5.17@@antv/g2/lib/util.js
./_@antv_g2@3.5.17@@antv/g2/lib/interaction/action/util.js
./_@antv_g2@3.5.17@@antv/g2/esm/animate/animation/util.js
./_@antv_g2@3.5.17@@antv/g2/esm/geometry/shape/interval/util.js
./_@antv_g2@3.5.17@@antv/g2/esm/geometry/shape/point/util.js
./_@antv_g2@3.5.17@@antv/g2/esm/geometry/shape/area/util.js
./_@antv_g2@3.5.17@@antv/g2/esm/geometry/shape/line/util.js
./_@antv_g2@3.5.17@@antv/g2/esm/geometry/shape/edge/util.js
./_@antv_g2@3.5.17@@antv/g2/esm/interaction/action/util.js
./_@antv_g2@3.5.17@@antv/g2/src/util.js
./_lodash-es@4.17.21@lodash-es/util.js
./_@babel_helper-create-regexp-features-plugin@7.12.17@@babel/helper-create-regexp-features-plugin/lib/util.js
./_optionator@0.8.3@optionator/lib/util.js
./_@antv_g-canvas@0.5.6@@antv/g-canvas/lib/util/util.js
./_@antv_g-canvas@0.5.6@@antv/g-canvas/esm/util/util.js二、基于第一步查找到的所有文件,查找其中是否存在某个字符串(isNumber)
./_@antv_g-math@0.1.7@@antv/g-math/lib/util.js
./_@antv_g-math@0.1.7@@antv/g-math/esm/util.js
./_@antv_g@3.3.6@@antv/g/lib/renderers/canvas/util.js
./_@antv_g@3.3.6@@antv/g/src/renderers/canvas/util.js
./_source-map@0.1.32@source-map/lib/source-map/util.js
./_source-map@0.1.32@source-map/test/source-map/util.js
./_@antv_g@3.4.10@@antv/g/lib/renderers/canvas/util.js
./_@antv_g@3.4.10@@antv/g/src/renderers/canvas/util.js
./_@antv_g2-brush@0.0.2@@antv/g2-brush/src/util.js
./_source-map@0.6.1@source-map/lib/util.js
./_node-forge@0.10.0@node-forge/lib/util.js
./_chalk@3.0.0@chalk/source/util.js
./_chalk@4.1.0@chalk/source/util.js
./_url@0.11.0@url/util.js
./_mockjs@1.1.0@mockjs/src/mock/util.js
./_source-map@0.7.3@source-map/lib/util.js
./_@antv_util@1.3.1@@antv/util/build/util.js二、基于第一步查找到的所有文件,查找其中是否存在某个字符串(isNumber)
./_ret@0.1.15@ret/lib/util.js
./_ajv@6.12.6@ajv/lib/compile/util.js
./_vue-i18n@8.23.0@vue-i18n/src/util.js
./_vue@2.6.12@vue/src/platforms/web/compiler/util.js
./_vue@2.6.12@vue/src/platforms/web/server/util.js
./_vue@2.6.12@vue/src/shared/util.js
./_vue@2.6.12@vue/src/server/webpack-plugin/util.js
./_vue@2.6.12@vue/src/server/util.js
./_lodash@4.17.21@lodash/fp/util.js
./_lodash@4.17.21@lodash/util.js
./_json5@1.0.1@json5/lib/util.js
./_@antv_algorithm@0.1.3@@antv/algorithm/lib/util.js
./_@antv_algorithm@0.1.3@@antv/algorithm/es/util.js
./_webpack-dev-middleware@3.7.3@webpack-dev-middleware/lib/util.js
./_@antv_component@0.8.9@@antv/component/lib/util/util.js
./_@antv_component@0.8.9@@antv/component/esm/util/util.js
./_ml-matrix@6.6.0@ml-matrix/src/dc/util.js
./_ml-matrix@6.6.0@ml-matrix/src/util.js

二、基于第一步查找到的所有文件,查找其中是否存在某个字符串(isNumber)

acat@acat-xx:node_modules$ grep isNumber -nr `find . -name "util.js"`
./_util@0.11.1@util/util.js:343:  if (isNumber(value))
./_util@0.11.1@util/util.js:480:function isNumber(arg) {
./_util@0.11.1@util/util.js:483:exports.isNumber = isNumber;
./_util@0.10.3@util/util.js:333:  if (isNumber(value))
./_util@0.10.3@util/util.js:470:function isNumber(arg) {
./_util@0.10.3@util/util.js:473:exports.isNumber = isNumber;
./_core-util-is@1.0.2@core-util-is/lib/util.js:48:function isNumber(arg) {
./_core-util-is@1.0.2@core-util-is/lib/util.js:51:exports.isNumber = isNumber;
./_@antv_g2plot@2.3.13-beta.1@@antv/g2plot/lib/plots/scatter/util.js:158:        if (util_1.isNumber(customValue)) {
./_@antv_g2plot@2.3.13-beta.1@@antv/g2plot/esm/plots/scatter/util.js:3:import { isArray, get, isNumber } from '@antv/util';
./_@antv_g2plot@2.3.13-beta.1@@antv/g2plot/esm/plots/scatter/util.js:154:        if (isNumber(customValue)) {
./_@antv_g2@3.5.17@@antv/g2/lib/util.js:18:  snapEqual: Utils.isNumberEqual,
./_@antv_g2@3.5.17@@antv/g2/lib/util.js:33:    if (Util.isNumber(padding) || Util.isString(padding)) {
./_@antv_g2@3.5.17@@antv/g2/src/util.js:15:  snapEqual: Utils.isNumberEqual,
./_@antv_g2@3.5.17@@antv/g2/src/util.js:29:    if (Util.isNumber(padding) || Util.isString(padding)) {
./_@antv_g-canvas@0.5.6@@antv/g-canvas/lib/util/util.js:68:Object.defineProperty(exports, "isNumberEqual", { enumerable: true, get: function () { return util_1.isNumberEqual; } });
./_@antv_g-canvas@0.5.6@@antv/g-canvas/esm/util/util.js:51:export { isNil, isString, isFunction, isArray, each, toRadian, mod, isNumberEqual, requestAnimationFrame, clearAnimationFrame, } from '@antv/util';
./_@antv_g-math@0.1.7@@antv/g-math/lib/util.js:3:exports.piMod = exports.getBBoxRange = exports.getBBoxByArray = exports.isNumberEqual = exports.distance = void 0;
./_@antv_g-math@0.1.7@@antv/g-math/lib/util.js:24:function isNumberEqual(v1, v2) {
./_@antv_g-math@0.1.7@@antv/g-math/lib/util.js:27:exports.isNumberEqual = isNumberEqual;
./_@antv_g-math@0.1.7@@antv/g-math/esm/util.js:20:export function isNumberEqual(v1, v2) {
./_@antv_util@1.3.1@@antv/util/build/util.js:190:var isNumber = function isNumber(value) {
./_@antv_util@1.3.1@@antv/util/build/util.js:193:module.exports = isNumber;
./_@antv_util@1.3.1@@antv/util/build/util.js:2219:var isNumberEqual = __webpack_require__(75);
./_@antv_util@1.3.1@@antv/util/build/util.js:2228:  isNumberEqual: isNumberEqual,
./_@antv_util@1.3.1@@antv/util/build/util.js:2234:  snapEqual: isNumberEqual,
./_@antv_util@1.3.1@@antv/util/build/util.js:2247:module.exports = function isNumberEqual(a, b) {
./_@antv_util@1.3.1@@antv/util/build/util.js:2276:var isNumber = __webpack_require__(6);
./_@antv_util@1.3.1@@antv/util/build/util.js:2279:  return isNumber(num) && num % 1 !== 0;
./_@antv_util@1.3.1@@antv/util/build/util.js:2288:var isNumber = __webpack_require__(6);
./_@antv_util@1.3.1@@antv/util/build/util.js:2291:  return isNumber(num) && num % 2 === 0;
./_@antv_util@1.3.1@@antv/util/build/util.js:2300:var isNumber = __webpack_require__(6);
./_@antv_util@1.3.1@@antv/util/build/util.js:2303:  return isNumber(num) && num % 1 === 0;
./_@antv_util@1.3.1@@antv/util/build/util.js:2312:var isNumber = __webpack_require__(6);
./_@antv_util@1.3.1@@antv/util/build/util.js:2315:  return isNumber(num) && num < 0;
./_@antv_util@1.3.1@@antv/util/build/util.js:2324:var isNumber = __webpack_require__(6);
./_@antv_util@1.3.1@@antv/util/build/util.js:2327:  return isNumber(num) && num % 2 !== 0;
./_@antv_util@1.3.1@@antv/util/build/util.js:2336:var isNumber = __webpack_require__(6);
./_@antv_util@1.3.1@@antv/util/build/util.js:2339:  return isNumber(num) && num > 0;
./_@antv_util@1.3.1@@antv/util/build/util.js:5884:  isNumber: __webpack_require__(6),
./_ajv@6.12.6@ajv/lib/compile/util.js:163:function getPathExpr(currentPath, expr, jsonPointers, isNumber) {
./_ajv@6.12.6@ajv/lib/compile/util.js:165:              ? '\'/\' + ' + expr + (isNumber ? '' : '.replace(/~/g, \'~0\').replace(/\\//g, \'~1\')')
./_ajv@6.12.6@ajv/lib/compile/util.js:166:              : (isNumber ? '\'[\' + ' + expr + ' + \']\'' : '\'[\\\'\' + ' + expr + ' + \'\\\']\'');
./_@antv_component@0.8.9@@antv/component/lib/util/util.js:10:    if (util_1.isNumber(padding)) {
./_@antv_component@0.8.9@@antv/component/esm/util/util.js:1:import { each, isArray, isNil, isNumber } from '@antv/util';
./_@antv_component@0.8.9@@antv/component/esm/util/util.js:7:    if (isNumber(padding)) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值