【Linux命令008】vim全选复制与文本追加命令

Scroll Down

昨天遗留了两个问题:

1、如果想将vim中的内容复制到shell脚本中去,应该使用什么命令呢?

2、如果想在1个2G的文件后追加内容,应该用什么命令呢?用vim合适吗?

NO.1

问题:

如果想在1个2G的文件后追加内容,应该用什么命令呢?用vim合适吗?

解:

网上一堆答案全是ggyG,根本不行。

正确答案应该是

gg"*yG

或者

gg"*+yG

下面是在stack overflow 上找到的答案,亲测有效,在此记录下 stackoverflow原文,点这个链接,或看下面内容:

You should yank the text to the * or + registers:

gg"*yG

Explanation:

gg to get the cursor to the first character of the file
"*y to start a yank command to the register * from the first line, until...
G to go the end of the file

为什么可以

gg 移动到首行
"* 表示使用当前选择区
y 复制选中内容到0号寄存器
"+y 把选中内容拷贝到"+号剪贴板,即系统剪贴板
G 移动到尾端
意思是先移动到首行然后选中当前行然后复制,并保持这个姿势一直到文件内容尾端。

NO.2

问题:

如果想在1个2G的文件后追加内容,应该用什么命令呢?用vim合适吗?

解:

如果想在1个2G的文件后追加内容,一般不推荐使用vim,编辑太吃力了。

有多种方法,sed、echo都可以。

sed功能比较强大,但是命令较为复杂。

而echo较为简单,命令如下:

echo 'yw' >> outhalo.log
思考 & 作业

1、除了vim、sed、echo,还有什么方法可以追加文本内容?

2、常问面试题:你知道Linux【centos/redhat】什么命令可以查看内存、CPU吗?