LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

он создаёт копию файла просто

Ничего он у тебя не создает, только переменную line по циклу гоняет. Файлом у тебя и не пахнет. Сделай проще:

#!/bin/bash
if [ -z "$1" ]
then
    echo "Usage: ..."
else
    src="$1"
    if [ -z "$2" ]
    then
        dst="$src.$$.tmp"
    fi
    cat "$src" | while read line; do echo -e "${line//%/n}"; done > "$dst"
fi

Исправление Deleted, :

он создаёт копию файла просто

Ничего он у тебя не создает, только переменную line по циклу гоняет. Файлом у тебя и не пахнет. Сделай проще:

#!/bin/sh
if [ -z "$1" ]
then
    echo "Usage: ..."
else
    src="$1"
    if [ -z "$2" ]
    then
        dst="$src.$$.tmp"
    fi
    cat "$src" | while read line; do echo -e "${line//%/n}"; done > "$dst"
fi

Исправление Deleted, :

он создаёт копию файла просто

Ничего он у тебя не создает, только переменную line по циклу гоняет. Файлом у тебя и не пахнет. Сделай проще:

#!/bin/sh
if [ -z "$1" ]
then
    echo "Usage: ..."
else
    src="$1"
    if [ -z "$2" ]
    then
        dst="$src.$$.tmp"
    fi
    cat "$1" | while read line; do echo -e "${line//%/n}"; done > "$dst"
fi

Исходная версия Deleted, :

он создаёт копию файла просто

Ничего он у тебя не создает, только переменную line по циклу гоняет. Файлом у тебя и не пахнет. Сделай проще:

#!/bin/ba
if [ -z "$1" ]
then
    echo "Usage: ..."
else
    src="$1"
    if [ -z "$2" ]
    then
        dst="$src.$$.tmp"
    fi
    cat "$1" | while read line; do echo -e "${line//%/n}"; done > "$dst"
fi