Помогите с shell скриптом
Модератор: Модераторы разделов
-
- Сообщения: 1
Помогите с shell скриптом
Помогите пожалуйста, нужен скрипт который бы поменял строки местами в выбраном текстовом файле. Задаются номера этих строк и в файле они меняются местами. Заранее спасибо.
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Помогите с shell скриптом
i Уведомление от модератора
Ждём демонстрации ваших попыток решить задачу. А так -
Темы от студентов с запросами готовых решений по заданиям зарываются не глядя.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
- Сообщения: 86
- ОС: Arch Linux
Re: Помогите с shell скриптом
Я конечно не спец... и вообще не мешало бы такие простенькие примеры самому делать
вот например что у меня получилось в результате 5 минут "трудов"
Вот вывод
вот например что у меня получилось в результате 5 минут "трудов"
Код: Выделить всё
#!/bin/bash
filePath=$1
nFirstString=$2
nSecondString=$3
fileOut=$4
FirstString=`sed -n ''$nFirstString'p' $filePath`
SecondString=`sed -n ''$nSecondString'p' $filePath`
i=1
while read string
do
if [ "$i" = "$nFirstString" ]
then
echo $SecondString >> $fileOut
elif [ "$i" = "$nSecondString" ]
then
echo $FirstString >> $fileOut
else
echo $string >> $fileOut
fi
i=`expr $i + 1`
done < "$filePath"
Вот вывод
knife@serv
knife@serv ~ $ ./string.sh file 2 3 file2
knife@serv ~ $ cat file
Это
мой
не
любимый
файл
knife@serv ~ $ cat file2
Это
не
мой
любимый
файл
knife@serv ~ $
-
- Сообщения: 95
- ОС: Debian Wheezy i686
Re: Помогите с shell скриптом
А что делает цикл
Какие значения присваиваются переменным read и string?
read это переменная или комманда?
Код: Выделить всё
while read string
do
if [ "$i" = "$nFirstString" ]
then
echo $SecondString >> $fileOut
elif [ "$i" = "$nSecondString" ]
then
echo $FirstString >> $fileOut
else
echo $string >> $fileOut
fi
i=`expr $i + 1`
done < "$filePath"
Какие значения присваиваются переменным read и string?
read это переменная или комманда?
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Помогите с shell скриптом
! Предупреждение от модератора
BASH Scripting
Тема закрыта.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru