New fxg for me

fxg means find and xargs then grep. It has a insufferable performace, so 
I use ag to instead, after forking some tools made by lilydjwg The tool chain is used for finding pattern in files and opening file by vim. I rewrite a simple version of vv.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12

#!/usr/bin/env python
import sys
from subprocess import call
line_number = int(sys.argv[1])
with open('/tmp/fxg.log') as f:
    for index, line in enumerate(f.readlines()):
        if index == line_number - 1:
            args = line.split(':')
            filename = args[0].strip().split("\t")[1]
            file_line = args[1]
            print filename + ":" + file_line
            call(["vim", filename,  "+" + file_line])

Insert of writing regex pattern to match the complex colored output, I call ag the second time to gen a un-colored output to log file. And I also add a -G for file pattern.

fxg () {
    ag -s -G $1 --column --nogroup --color $2 | nl && ag -s -G $1 --column --nogroup $2 | nl > /tmp/fxg.log
}

Update: 15-12-9

Ag on my MacOSX has an unstable sorting result. It makes the twice call of Ag return different order.
So I add sort to this command. -0 or -print0 will take space in filename as a special character.

fxg () {
    ag -s -G $1 --column --nogroup --color -0 $2 | sort | nl && ag -s -G $1 --column --nogroup -0 $2 | sort | nl > /tmp/fxg.log
}
时间: 2024-07-30 15:11:09

New fxg for me的相关文章

Flex AIR Mobile应用性能解决方案

这个flex  mobile开发,一般原生开发也许是最合适的方式,但是涉及到跨平台的问题,有精力的团队一般都会逐个基于移动操作系统进行开发.但是如果追求短小,精悍,快速,希望能够跨平台,基于html5或者Flex开发是一个不错的选择. Flex是个双刃剑,用的好的,做出来的效果不比原生差,做的不好的,效果.性能则不敢恭维,关于如何使用Flex开发出性能较高的应用,通过验证后得以收纳如下:   1.组件尽量使用为移动开发优化的(Spark组件),皮肤尽量使用简洁的,一般最好通过graphic以及f

Fireworks CS5新增功能

  1.性能和稳定性提高 • 对 Fireworks 中常用工具的大量改进将帮助您提升工作效率 • 更快的综合性能 • 对设计元素像素级的更强控制 • 更新了综合路径工具 2.像素精度 增强型像素精度可确保您的设计在任何设备上都能清晰显示.快速简便地更正不在整个像素上出现的设计元素. 3.Adobe Device Central 集成 使用 Adobe Device Central,您可以为移动设备或其他设备选择配置文件,然后启动自动工作流程以创建 Fireworks 项目.该项目具有目标设备的

用正则来解决grep时行过长的问题

之前自己写了个函数用来查找文件中匹配关键字的 fxg_old(){ find . -type f -name $1 | xargs grep $2 } 但是今天在用的时候,发现如果匹配到的行过长的话,输出很难看,而且也不知道哪里匹配到了. 所以就想能不能对行的长度做限制,但是grep里并没有这个参数选项.于是想到了用正则去控制匹配串.在so上找到了这样的代码 fxg(){ find . -type f -name $1 | xargs grep -oE ".{0,20}$2.{0,20}&quo

软件一定要升级到最新版吗?

每次我打开豌豆荚,左上角的数字都会提示我有几款软件需要更新,只要我一周不打开,需要更新的软件就多达十几款.如果我的电脑上装了 360 或 QQ 的安全软件,我应该也会忙着消除软件管家图标上的数字而乐此不疲. 如果你装上这些能够帮助你更新最新版软件的工具,就会发现软件升级的频率实在是很快.不过,我在电脑上却并不为软件的更新而焦虑.我不仅没有安装那种软件管家,还在最近主动把一些软件降级到旧版本. 我想简单的谈谈一些软件--对于用户而言--为什么更适合停留在旧版,以及这可能会给用户和开发者带来的启示.

AS3的通用工具类库 GhostCat

GhostCatTools已经发布,使用Flex Spark框架以及AIR和部分GhostCat功能制作. 包含大量开发常用的功能. 下载地址:http://ghostcat.googlecode.com/svn/trunk/GhostCatTools/GhostCatTools.exe GhostCat是一个功能非常丰富的开源工具库,(同时也包含有一套完整的UI组件,但它只是类库的一个衍生品.) 它基本可以涵盖你可能遇到大部分问题. 使用UI将会增加50K左右的体积,使用非UI显示对象会增加2

AI (Adobe Illustrator)详细用法(五)

最后的调整和输出. 一.改变形状工具/宽度工具/包裹工具  1.改变形状工具[整形工具] 改变形状工具可以让我们更细致的控制形状的改变.  用钢笔工具画一条曲线,并设置宽度样式等. 如果想让这条曲线形状变短,一种方法是使用选择工具,然后伸缩.但是这种方法只能等比压缩,不能细致到调节每个点. 另一种方法就是使用改变形状工具.这个工具能做的事情就很多了.   单个锚点拖动,选中单个锚点,可以进行上下左右任意拖动.也可以选中中间的点进行拖动. 2.宽度工具  改变宽度,在线段的任意位置单击,拖动鼠标,

Flex 3 与 Flex 4 beta 之间的区别

Flex 4(代码名:Gumbo)beta 发行版在 Flex 3 基础上做出重大改动.Flex 4 beta 引入了一个新的组件和外观架构.但是作为 Flex 3 开发人员,您在使用 Flex 4 beta 编译 Flex 3 应用程序时可能不会遇到太多难题,因为新发行版的目的之一是保持与 Flex 3 的向后兼容性. 在本文中,我将 简要概述 Flex 4 beta 的主要目的和架构区别并介绍组件.布局.状态使用和效果方面的变化.我还将针对使用 Flex 4 beta 编译 Flex 3 应

flash-fxg文件应该怎么打开,有什么用

问题描述 fxg文件应该怎么打开,有什么用 有人发给我了一些png和与之对应的fxg文件,我不懂fxg文件是做什么的,是可以让png文件变成动态的吗? 求前辈解答 解决方案 Adobe Flash Builder 或者 Adobe Flash Catalyst 请参照www.adobe.com/jp/products/flex 解决方案二: http://0923xuyb.iteye.com/blog/751332 解决方案三: http://help.adobe.com/zh_TW/illus

《ADOBE FIREWORKS CS5标准培训教材》——1.2 Fireworks CS5的新功能

1.2 Fireworks CS5的新功能 Adobe公司虽然对Fireworks CS5的表层功能并未进行太多调整,但却对CS5版本的软件性能进行了较大提升.使用Fireworks CS4的用户,普遍反映此软件占用的系统资源较多,在为对象添加动态滤镜或进行渐变操作时,软件反映迟钝,但在Fireworks CS5中,这些现象将不复存在. 相对于Fireworks CS4,新版本在以下几个方面做了调整. 大大提升了软件的性能和稳定性 首先对Fireworks中常用的工具进行了大量改进,将设计元素提