Size: a a a

2020 September 12

️ ️️ in pro.bash
на
источник

Лс

Лень с Самосознанием... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Сделать m3u из файлов в каждой директории?
Так что, как мне приспособить find на такое? А то я сейчас вариант с ls пойду дописывать)
источник

️ ️️ in pro.bash
for d in ./*; do
 (
 cd "$d"
 find . -type f
 ) > "${d##*/}.m3u"
done
источник

аᶘ

асоциальный пикотран... in pro.bash
Лень с Самосознанием
Так что, как мне приспособить find на такое? А то я сейчас вариант с ls пойду дописывать)
#!/bin/sh
set -efu

listdir() {
 dir=$1
 absdir=$(readlink -f "${dir}")

 find "${absdir}" -type f -name "*.mp3"
}

find ./ -type d  | while read -r dir; do
 [ "${dir}" != "./" ] || continue
 m3u=${dir#./}
 m3u=$(printf "%s.m3u" "${m3u}" | sed 's,/,_,g')
 listdir "${dir}" > "${m3u}"
done
источник

аᶘ

асоциальный пикотран... in pro.bash
Это не совсем то, что я хотел написать, но идея такая.
источник

Лс

Лень с Самосознанием... in pro.bash
️ ️️
for d in ./*; do
 (
 cd "$d"
 find . -type f
 ) > "${d##*/}.m3u"
done
Это хорошо, но не сработает когда в папке есть подпапки
источник

аᶘ

асоциальный пикотран... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
#!/bin/sh
set -efu

listdir() {
 dir=$1
 absdir=$(readlink -f "${dir}")

 find "${absdir}" -type f -name "*.mp3"
}

find ./ -type d  | while read -r dir; do
 [ "${dir}" != "./" ] || continue
 m3u=${dir#./}
 m3u=$(printf "%s.m3u" "${m3u}" | sed 's,/,_,g')
 listdir "${dir}" > "${m3u}"
done
А, да, в find внутри listdir надо написать -maxdepth 1 -mindepth 1.
источник

Лс

Лень с Самосознанием... in pro.bash
С ls выходило проще...
И я хотел сам написать...
Эх. Спасибо!
Буду допиливать
источник

аᶘ

асоциальный пикотран... in pro.bash
Лень с Самосознанием
С ls выходило проще...
И я хотел сам написать...
Эх. Спасибо!
Буду допиливать
Ну покажи с ls, посмотрим как ты реализовал.
источник

Лс

Лень с Самосознанием... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Ну покажи с ls, посмотрим как ты реализовал.
Окей, сейчас, допишу
источник

️ ️️ in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
#!/bin/sh
set -efu

listdir() {
 dir=$1
 absdir=$(readlink -f "${dir}")

 find "${absdir}" -type f -name "*.mp3"
}

find ./ -type d  | while read -r dir; do
 [ "${dir}" != "./" ] || continue
 m3u=${dir#./}
 m3u=$(printf "%s.m3u" "${m3u}" | sed 's,/,_,g')
 listdir "${dir}" > "${m3u}"
done
а ты знаешь что можно
#!/bin/sh -efu
?
источник

аᶘ

асоциальный пикотран... in pro.bash
️ ️️
а ты знаешь что можно
#!/bin/sh -efu
?
Это плохой вариант, ломается, когда запускаешь скрипт через явное указание интерпретатора.
источник

аᶘ

асоциальный пикотран... in pro.bash
/bin/bash test.sh не будет видеть -efu, потому что шебанг пропускается при таком запуске
источник

️ ️️ in pro.bash
океу
источник

аᶘ

асоциальный пикотран... in pro.bash
️ ️️
океу
источник

️ ️️ in pro.bash
интересно
источник

Лс

Лень с Самосознанием... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Ну покажи с ls, посмотрим как ты реализовал.
#! /bin/bash
echo "Started"
workDir=$1
outputDir=$2
for w in $workDir; do
   test_array=$( ls )
   for i in $test_array; do
       [ -d "./$i" ] && workDir="$workDir $i"
       [ -f "./$i" ] && print "$i" > "$outputDir/$w.m3u"
   done
done

Вроде вот. Не проверял, уже вижу пару подозрительных мест и один баг, но это, на мой взгляд, читабельнее варианта с find
источник

VP

Vadim "Oxyd&quo... in pro.bash
Лень с Самосознанием
#! /bin/bash
echo "Started"
workDir=$1
outputDir=$2
for w in $workDir; do
   test_array=$( ls )
   for i in $test_array; do
       [ -d "./$i" ] && workDir="$workDir $i"
       [ -f "./$i" ] && print "$i" > "$outputDir/$w.m3u"
   done
done

Вроде вот. Не проверял, уже вижу пару подозрительных мест и один баг, но это, на мой взгляд, читабельнее варианта с find
find, при прочих равных, быстрее.
источник

Лс

Лень с Самосознанием... in pro.bash
Vadim "Oxyd" Priluzkiy
find, при прочих равных, быстрее.
Вот в это поверю
источник

Лс

Лень с Самосознанием... in pro.bash
А, блин) touch забыл)
источник