echo copyfile.txt | pbcopy ....然后一次粘贴一行?

时间:2015-11-11 21:14:33

标签: unix command-line copy-paste

我有一个多行文本文件。 我们称之为26行。

A
B
C
D
E
F

你明白了......

是否有一个unix命令可以用来将所有文件的内容添加到我的粘贴栏中,但是一次只能将内容粘贴一行?

例如,

我想echo copyfile.txt | pbcopy(或者无论命令是什么) 然后单击粘贴一次以粘贴

A

然后下次点击粘贴我的电脑打印

B

然后下次我粘贴我的电脑打印

C

依旧等等。

有什么想法吗?

谢谢。

3 个答案:

答案 0 :(得分:0)

以下脚本不会将所有文件内容一次性加载到剪贴板中,但可能会满足您的需求。使用xclip命令

for line in `cat filename`
do
echo $line | xclip -selection clipboard
read -p "Press Paste : "
done

答案 1 :(得分:0)

好的,这有点接近

for line in `cat ~/Desktop/paste.txt`
> do
> echo $line | pbcopy
> sleep 2
> echo $line | pbcopy
> done

除非它很容易跳过一两行,如果你不在两秒内粘贴它,那么它就不完美了。

而不是sleep 2是否有可以使用的不同命令?

答案 2 :(得分:0)

我在〜/ .bash_profile中创建了一个别名,如下所示:

alias k='head -1 cutpaste.txt | pbcopy
echo "$(tail -n +2 cutpaste.txt)" > cutpaste.txt'

第一个命令抓取文件的第一行,然后第二个命令删除文件的第一行。

非常精确,但比我希望的更乏味。