当前位置:  开发笔记 > 编程语言 > 正文

Nano hacks:您编写或遇到的最有用的小程序

如何解决《Nanohacks:您编写或遇到的最有用的小程序》经验,为你挑选了2个好方法。

这是程序员的第一个伟大的美德.我们所有人都曾经在一次或另一次自动化任务中使用了一些丢弃代码.有时需要几秒钟才能完成单线程,有时我们会花费大量时间自动完成两秒钟的任务,然后再也不会再使用它.

你发现什么微小的hack足以重用?为了制作别名而去做?

注意:在回答之前,请检查以确保它不是已经使用BASH或perl/ruby 单线问题的最喜欢的命令行技巧.



1> joh6nn..:

我今天在dotfiles.org上发现了这个.这很简单,但很聪明.我自己没有想到这件事感到愚蠢.

###
###   Handy Extract Program
###
extract () {
     if [ -f $1 ] ; then
         case $1 in
             *.tar.bz2)   tar xvjf $1        ;;
             *.tar.gz)    tar xvzf $1     ;;
             *.bz2)       bunzip2 $1       ;;
             *.rar)       unrar x $1     ;;
             *.gz)        gunzip $1     ;;
             *.tar)       tar xvf $1        ;;
             *.tbz2)      tar xvjf $1      ;;
             *.tgz)       tar xvzf $1       ;;
             *.zip)       unzip $1     ;;
             *.Z)         uncompress $1  ;;
             *.7z)        7z x $1    ;;
             *)           echo "'$1' cannot be extracted via >extract<" ;;
         esac
    else
         echo "'$1' is not a valid file"
    fi
}



2> Andy Lester..:

这是一个过滤器,它将逗号放在标准输入中的任何大数字的中间.

$ cat ~/bin/comma
#!/usr/bin/perl -p

s/(\d{4,})/commify($1)/ge;

sub commify {
    local $_  = shift;
    1 while s/^([ -+]?\d+)(\d{3})/$1,$2/;
    return $_;
}

我通常最终使用它来获取大数字的长输出列表,我厌倦了计算小数位数.现在而不是看到

-rw-r--r--   1 alester alester 2244487404 Oct  6 15:38 listdetail.sql

我可以把它当作ls -l | comma并看到

-rw-r--r--   1 alester alester 2,244,487,404 Oct  6 15:38 listdetail.sql

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有