BASH从终端复制特定行

时间:2018-07-31 08:45:23

标签: bash

假设当前我的终端如下所示:

neekoy@mypc:~/some/folder$ echo "lala nana"
lala nana
neekoy@mypc:~/some/folder$ l
entrypoint.js  helpers/  node_modules/  package.json  package-lock.json
neekoy@mypc:~/some/folder$

我要从底部复制第四行(包含“ lala nana”的那一行)。

我显然可以编写一个脚本,使用tput保存光标位置,将光标位置切换到特定行,复制它,然后返回到先前的光标位置。

是不是有一个现成的解决方案或更简单的方法来完成此任务?

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解您的问题。我会用这种方式解决它。

我会将命令放入变量中,以便以后再次访问它。 (http://www.tldp.org/LDP/abs/html/varassignment.html

这里是一个例子:

neekoy@mypc:~/some/folder$ c=$(echo "lala nana")
neekoy@mypc:~/some/folder$ echo $c
lala nana

或者像您的示例中一样:

neekoy@mypc:~/some/folder$ echo "lala nana"
lala nana
neekoy@mypc:~/some/folder$ l
entrypoint.js  helpers/  node_modules/  package.json  package-lock.json

neekoy@mypc:~/some/folder$ c=$(!-2) #related to https://unix.stackexchange.com/a/33552
neekoy@mypc:~/some/folder$ echo $c
lala nana

或将输出保存为文本文件。

neekoy@mypc:~/some/folder$ echo "lala nana"
lala nana
neekoy@mypc:~/some/folder$ l
entrypoint.js  helpers/  node_modules/  package.json  package-lock.json

neekoy@mypc:~/some/folder$ !-2 > test.txt
echo "lala nana" > test.txt
neekoy@mypc:~/some/folder$ cat test.txt
lala nana