如何将定位命令输出的单个结果通过管道传送到另一个命令?

如何将定位命令输出的单个结果通过管道传送到另一个命令?

运行以下命令后...

# locate -i "little"

我收到了这些结果。

/mnt/external/Songs/The White Stripes/[1999] The White Stripes/14 little people.mp3
/mnt/external/Songs/The White Stripes/[2000] De Stijl/03 Little Bird.mp3
/mnt/external/Songs/The White Stripes/[2001] White Blood Cells/06 - little room.mp3
/mnt/external/Songs/The White Stripes/[2003] Elephant/the white stripes - elephant - 10 - little acorns.mp3
/mnt/external/Songs/The White Stripes/[2005] Get Behind Me Satan/11 Little Ghost.mp3
/mnt/external/Songs/The White Stripes/[2007] Icky Thump/Little Cream Soda.mp3

如何将定位命令的结果之一传送到另一个命令。本质上,我将在文件位置前面添加“totem”(媒体播放器),然后执行命令来播放其中一首歌曲。

编辑:我刚刚意识到我无法用鼠标复制和粘贴,因为很多专辑;我将年份括在括号中(例如 Elephant (2003)),必须手动转义...

第二次编辑:罗兰,我正在运行定位来查找歌曲的路径,以便我可以使用图腾媒体播放器播放这首歌曲。

# totem /mnt/external/Songs/The White Stripes/[2007] Icky Thump/Little Cream Soda.mp3

本质上,我想知道如何复制定位命令返回的歌曲位置的路径,然后将该位置粘贴到终端中,以便我可以为图腾提供歌曲的位置。

答案1

如果您能够将输出限制为一行,也许借助grep,您可以使用以下语法:

totem "$(locate -i "hardest button" | grep pattern)"

否则,您可以使用screen该选项选择缓冲区的一部分粘贴到另一个位置。

可能使用键盘上的鼠标(请参阅键盘首选项)也会有所帮助。

最后,我认为gnome-terminal不允许不使用鼠标选择某些东西,因为没有快捷方式。

相关内容