Tomsk Sysadmins Forum
Unix => Программирование => Topic started by: Martin on March 22, 2007, 13:44:59
-
Помогите пожалуйсто написать небольшой скрипт. Никак не получается
Для заданных файлов (вводятся с клавы) заменить строку с заданным номером (тоже с клавы) на другую строку (тоже с клавы).
Если по простому:
1. Все файлы (имя с клавы).
2. Заменить строку с номером $n (введено с клавы) на другую строку $s (тоже от пользователя).
Заранее благодарен!
-
Если по простому:
1. Все файлы (имя с клавы).
2. Заменить строку с номером $n (введено с клавы) на другую строку $s (тоже от пользователя).
в один проход, без применения head/tail:
#!/bin/bash
echo -n Enter file name:
read fname
echo -n Enter row number:
read num
echo -n Enter rot to be placed instead of deleted one:
read row
x=1
# Для всех файлов в каталоге использовать
# for file in $path; do
# все, что ниже после cat
# done
cat $fname | \
while read line; do
if [ $x == $num ]; then
echo $row
else
echo $line
fi
x=$[$x+1]
done
PS. Рекомендуется добавить проверку вводимых данных...