Консольный английский. Урок 2. Отсеять знакомое

Разжившись короткими англоязычными идеомами в виде mp3-файлов, я добросовестно стал прослушивать их и на десктопе, и на смартфоне. Очень скоро выяснилось, что методика действительно работает. Из глубин памяти начали восстанавливаться полузабытые слова и словосочетания, да и те, которые часто встречаю в технической литературе «освежились». Через какое-то время захотелось сосредоточиться на действительно незнакомых фразах, а усвоенные отсортировать в отдельную папочку. Для этого «на коленке» были написаны соответствующие скрипты.

Для начала, поскольку имена скачанных файлов были уж слишком пестрыми (разной длины, некоторые с пробелами), привел их к единому знаменателю:

CNT=1100; ls -1 *.mp3 | while read l ; do mv "$l" "$CNT.mp3" ; CNT=$(($CNT + 1)); done


т.е. все звуковые файлы были переименованы к виду 4-значный номер + расширение.

Теперь сам «учебный скрипт»:

#!/bin/bash

function pause {
  read -n1 -r -p "Press 'y' if now this..." y
  if [ $y == 'y' ] ; then
    mv $1 known/$1 #chmod +x $1
  fi
}

mkdir -p known
cat learn.sh > known/learn.sh

for l in `ls -1 *.mp3 | sort -R`
do
  mpg123 "$l"
  pause "$l"
  echo
done



Работает это так. В случайном порядке проигрываются файлы из текущего каталога. После каждой фразы — пауза, при которой предлагается нажать «y» если получилось перевести ее в уме или другую клавишу если нет. Когда нажимают «y», соответствующий файл метится атрибутом «исполняемый». По окончании цикла все такие файлы перемещаются в каталог known, где можно рекурсивно проделывать всё то же самое.

Весьма эффективная методика получилась. При ее создании удалось не только подкрепить знания английского, но и попрактиковаться в bash-программировании.

Кстати, вот ссылка на архив, может кому-то пригодится.

Комментарии (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.