Astrisk Blog

SHELL-CSPLIT

• LINUXSHELL

功能

csplit工具跟split一样都是用来切割文件,但是csplit的功能更加强大,能够依据指定的条件和字符串匹配选项对文件进行分割。

语法

$ csplit [OPTION] ... FILE PATTERN ...

SHELL-XARGS

• LINUXSHELL

xargs作用

有些命令只能以命令行参数形式接收数据,而无法通过stdin接受数据流,在这种情况下,就没有办法使用管道来提供那些只能通过命令行参数才能提供的数据。 xargs命令的一个非常大的作用就是将标准输入的数据转换成命令行参数。xargs也可以将单行或多行文本输入转换成其他格式,例如将单行变成多行。

SHELL-UNIQ

• LINUXSHELL

uniq 作用

通过消除重复的内容,从给定输入(stdin或命令行参数文件)找出单一的行。uniq只能用于排过序的文件,所以uniq经常跟sort一起结合使用。

语法

$ sort unsorted.txt | uniq

SHELL-TR

• LINUXSHELL

tr作用

tr可以对来自标准输入的字符进行替换,删除,以及压缩。由于可以将一组字符变成另一组字符,因而通常被称为转换(translate)命令

语法

$ tr [OPTION] set1 set2

将stdin的输入字符从set1映射到set2,并将其输出写入stdout。Set1和set2是字符或字符集。如果两个字符集的长度不相等,那么set2会不断重复其最后一个字符,直到长度与set2相同。如果set2的长度大于set1,那么在set2中超出set1长度的那部分字符则全部被忽略。

示例

$ echo "HELLO WHO IS THIS" | tr 'A-Z' 'a-z'
$ echo "Hello 123 world 456" | tr -d [[ :digit: ]]

SHELL-SORT

• LINUXSHELL

sort作用

排序sort可以对文本文件或stdin进行排序操作。

语法

\#sort [OPTION] FILE1 FILE2 

如何完全更新Node.js

• NODEJS

背景

Nodejs 更新速度非常快,几天没注意就发布了一个版本,而且还是大版本。对于有更新强迫症的人来说,这也是个不小的事。那下面来看看如何进行Nodejs更新

更新NPM库

npm update -g

更新nodejs

源码方式更新

下载最新的源码,然后make install

npm方式更新

npm install -g n [stable/v0.10.26] # n代表n模块,后面可以跟最新稳定版或具体版本号

动态指定NPM源

• NODEJS

问题

由于某种原因,在下载npm依赖包时,经常失败或者下载的时间超级长,导致build一直进行不了。之前都是使用默认的npm源,在一阵折磨后,尝试各种方式来解决这种问题。CI上,特别需要通过动态指定npm源,这样能够缩短build时长,提升构建效率。

代码

npm install --registry https://registry.npm.taobao.org

备注:通过选项–registry动态指定npm源

Example 2

• example

Basic

Neque porro quisquam est, qui dolorem ipsum, quia dolor sit, amet, consectetur, adipisci velit.

  1. dolor
  2. sit