2015-04-06 4 views
0

У меня есть файл list.txt с файлом.Bash скрипт для автоматического создания символических ссылок из файла с файлом

file_1.txt 
file_2.txt 
file_3.txt 
file_4.txt 
..... 
..... 
..... 
file_50.txt 

Мне нужно создать символическую ссылку для всех файлов.

Пример

file_1.txt > newfile_1.txt 
file_2.txt > newfile_2.txt 
file_3.txt > newfile_3.txt 
file_4.txt > newfile_4.txt 
..... 
..... 
..... 
file_50.txt > newfile_50.txt 

Я проверил это

cat list.txt | egrep -v '^#|^[[:space:]]*$' | xargs ln -sf 

, но не работает.

+0

Есть все, что нужен постоянный префикс файла? – thkala

ответ

1

Если все, что вам нужно, это постоянный префикс имени файла и список содержит только basenames без каталогов, следующий цикл оболочки должен работать:

while read f; do 
    ln -sf "$f" "new$f" 
done < list.txt 
+0

Спасибо, но у вас есть другая идея. У меня есть машина enigma (это только базовый linux) и 'while' не работает – skyndas

+1

Тогда почему это помечено тегом [tag: bash]? – tripleee

+0

Как может 'while' не работать, если вы используете bash? – thkala

Смежные вопросы