Вопрос: Кто может оптимизировать этот сценарий лучше, чем он есть ?, в основном это те tmp


#!/bin/sh -e
#
# Usage:
#   ytpl song title
#   ytpl < titles
#

go() {
    echo "Playing $1"

    # Force TTY input for controls even if titles are read from input
    echo https://youtu.be/ > tmp1.txt
    youtube-dl --get-id "ytsearch:$1" > tmp2.txt
    youtube-dl --get-title "ytsearch:$1" > tmp4.txt
    paste -d" " tmp1.txt tmp2.txt > tmp3.txt
    paste -d" " tmp3.txt tmp4.txt > tmp5.txt
    sed 's/ //' tmp5.txt > tmp6.txt
    cat tmp6.txt
    mpv --vid=no "$(youtube-dl -g "ytsearch:$1" | tail -1)" < /dev/tty
    rm tmp*.txt
}

# All arguments as a single space separated string
if [ -n "$*" ]; then
    go "$*"
    exit
fi

# Read one title per line
while read title; do
    go "$title"
done

1
2018-02-25 23:33


Источник


Вы должны принять ответ (нажав на V-образный символ рядом с текстом ответа), если он решил вашу проблему. - MariusMatutiae
К сожалению, я не видел это сообщение вчера извините :( - user3287029


Ответы:


echo https://youtu.be/ > tmp1.txt
youtube-dl --get-id "ytsearch:$1" >> tmp1.txt
youtube-dl --get-title "ytsearch:$1" >> tmp1.txt
cat tmp1.txt |tr '\n' ' '|sed 's/ //' > tmp2.txt
cat tmp2.txt
mpv --vid=no "$(youtube-dl -g "ytsearch:$1" | tail -1)" < /dev/tty
rm tmp*.txt

Пример кода 2 Следуйте этим многочисленным инструкциям: http://www.unixmen.com/access-twitter-via-command-line-terminal/

a=$(youtube-dl --get-id "ytsearch:$1")
b=$(youtube-dl --get-title "ytsearch:$1")
c="https://youtu.be/$a $b"
echo $c
t update "$c"
mpv --vid=no "$(youtube-dl -g "ytsearch:$1" | tail -1)" < /dev/tty

1
2018-02-26 00:15



Мне нужны эти 3 строки прямо в 1, чтобы я мог использовать его для вставки в список и / или поделиться им с Facebook и Twitter, открыв браузер с самого терминала :) THX - user3287029
@ user3287029 Там 3 строки в 1 - cybernard
Что! Сэр ... сделал это :) THX - user3287029
@ user3287029 FYI: --get-id и -get-title могут быть объединены в 1 строку, но они будут в обратном порядке. youtube-dl --get-id --get-title "ytsearch: $ 1", - cybernard
Я знаю, поэтому мне пришлось отделить их, извините еще один запрос, первое пустое пространство нужно удалить и присоединиться к «youtu.be/» с результатом -get-id. :( - user3287029