Помогите пожалуйста
Написать shell-процедуру, которая:
• Читает содержимое файла, передаваемого в качестве первого параметра;
• Создает в текущем каталоге цепочку подкаталогов с относительным маршрутным именем, повторяющим полное маршрутное имя текущего каталога;
• Создает в последнем подкаталоге новый файл, имя которого передается в качестве второго параметра;
• Записывает в новый файл строки первого файла в обратном порядке, вставляя после каждого слова фразу "THAT IS ALL" столько раз, сколько задано третьим параметром
Первые деньки октября преподаватель давал по линуксу всякую лёгкую вещь 4 дня назад дал сие задание
Ну собственно никто не знает как сделать,нужно сдать в понедельник иначе до сессии не допустят,
Символическая плата предусмотрена....
Нужно помощь в написание shell процедуры)
null, ты начинай, помогут если что-то делать начнешь, полностью за тебя никто делать не будет.
что уже студенты МИФИ такую задачу решить не могут?
чет не понял на баше надо писать или на шеле ?
#/bin/sh
# Написать shell-процедуру, которая:
# - Читает содержимое файла, передаваемого в качестве первого параметра;
# - Создает в текущем каталоге цепочку подкаталогов с относительным маршрутным
# именем, повторяющим полное маршрутное имя текущего каталога;
# - Создает в последнем подкаталоге новый файл, имя которого передается в
# качестве второго параметра;
# - Записывает в новый файл строки первого файла в обратном порядке, вставляя
# после каждого слова фразу "THAT IS ALL" столько раз, сколько задано третьим
# параметром
usage_exit() {
echo "Usage: $0 input_file output_file repeat_count"
exit 1
}
IN_FILE="$1"
OUT_DIR="./${PWD#/*}"
OUT_FILE="$OUT_DIR/$2"
APPEND_COUNT="$3"
APPEND_PHRASE="THAT IS ALL"
if [ ! -f "$IN_FILE" ]; then
usage_exit
fi
if [ -z "$OUT_FILE" ]; then
usage_exit
fi
if [[ "$APPEND_COUNT" != [0-9]* ]]; then
usage_exit
fi
mkdir -p "./${PWD#/*}"
APPEND_STRING=""
for((i=0; i<$APPEND_COUNT; i++)) ; do
APPEND_STRING="$APPEND_STRING $APPEND_PHRASE"
done
cat $IN_FILE | while read LINE; do
echo "$LINE$APPEND_STRING" >>"$OUT_FILE"
done
Символическая плата предусмотрена....
ожидаю вознаграждение не меньшее бутылки неплохого пива.
Пришел Fat-Zer, и все испортил. :lol:
Ну собственно никто не знает как сделать,нужно сдать в понедельник иначе до сессии не допустят,
Fat-Zer, подозреваю что сессию таки никто не сдаст :lol: