Только для less
файла, если это текст ASCII:
less_if_text() {
# $1 is the file name
if file $1 | grep -q 'ASCII.* text' ; then
less $1
else
echo "Not a text file: $1"
fi
}
Чтобы вывести список текстовых файлов простым, но понятным способом:
ls_texts() {
ls -a | while read filename; do
(file $filename | grep -q 'ASCII.* text') && echo $filename
done
}
Вышеупомянутое не совсем быстро, однако. Более быстрый способ использовать file -f
, чтобы избежать множественных вызовов file
и grep
:
ls_texts() {
ls | file -f - | egrep ':\s+ASCII.* text' | while read fname
do cut -d ':' -f 1
done
}
Ваша оболочка пытается расширить подстановочный знак ?
. Заключите URL-адрес в одинарные кавычки, чтобы отключить все расширения :
youtube-dl 'https://www.youtube.com/watch?v=videoid'