Я пытался написать скрипт, который будет брать текущий рабочий каталог, сканировать каждый файл и проверять, является ли он файлом .txt. Затем возьмите каждый файл (это текстовый файл) и проверьте, не содержит ли он подчеркивания где-либо в своем имени и позволяет ли он заменить знак подчеркивания на дефис.
Я знаю, что это высокий заказ, но вот грубый код, который у меня есть:
#!/bin/bash
count=1
while((count <= $#))
do
case $count in
"*.txt") sed 's/_/-' $count
esac
((count++))
done
Я думал о том, что в качестве аргументов будут приниматься файлы в текущем рабочем каталоге и проверяться каждый файл (представленный как $ count или файл в «count»). Затем для каждого файла он будет проверять, заканчивается ли он в .txt, и если он это делает, он будет менять каждое подчеркивание на дефис, используя sed. Я думаю, что одна из основных проблем, с которыми я сталкиваюсь, заключается в том, что скрипт не читает файлы из текущего рабочего каталога. Я попытался включить каталог после команды для запуска сценария, но я думаю, что она заняла каждую строку вместо каждого файла (так как в каждой строке 4 или около того файла).
В любом случае, любая помощь будет принята с благодарностью! Кроме того, мне жаль, что мой код настолько плох, что я новичок в UNIX.