Простое решение - проанализировать lastlog -u
перед выполнением. Если в выводе указано «никогда не входил в систему», вы немедленно возвращаетесь. Затем вы можете определить свой сценарий в .bash_profile, чтобы выполнить его при (первом) входе в систему.
Скрипт можно выполнить один раз, самоудалев его в конце:
rm $0
как правило, вы не должны анализировать вывод ls, однако при условии, что у вас нет «забавных» имен (таких как пробел или разрыв строки).
Я бы использовал awk для анализа имени файла
ls | awk -F- '{printf "%s,%s,%s,%s,%s,\n",$0,$4,$3,$2,$1}' > file.csv
, где
-F-
сказал awk использовать - в качестве разделителя $ 0
целая строка $ 4 .. $ 1
-е поле