The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как работает команда read? Неправильно обрабатывается файл"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Как работает команда read? Неправильно обрабатывается файл"  +/
Сообщение от Солоха email on 03-Окт-12, 16:22 
Уважаемые знатоки, будьте снисходительны!
Нужно добавить имена файлов и расширения к директориям, прописанным в ini файле.
Если убрать лишние подробности, остается задачка:

Есть файл scanssni.cfg примерно такого содержания (просто ини-файл, скобки удалила для отладки) :

comment
NAMES
name = *
PATH
input = /home/SoftLinux/MEP_DATA/out_3/
output=/home/SoftLinux/MEP_DATA/out_3/

Почему скрипт

#!/bin/bash
#

while read   lin; do
ext=aaa;
echo  ${lin}${ext}  
done < "scanssni.cfg"

выдает :

aaament
aaaES
aaae = *
aaaH
aaaut = /home/ibelova/SoftLinux/MEP_DATA/out_3/
aaaput=/home/ibelova/SoftLinux/MEP_DATA/out_3/
aaa
aaa

то есть печатает вторую переменную поверх первой? Предпогагаю, что все дело в команде read, но
ответа не нашла.

Фишка в том, чтобы сделать только средствами bash. Знаю, что есть Perl, sed, awk,
но хочу понимать, в чем здесь ошибка.  

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как работает команда read? Неправильно обрабатывается файл"  +/
Сообщение от XAnder (ok) on 03-Окт-12, 17:38 
> то есть печатает вторую переменную поверх первой?

Блокнот, собака, подвёл небось :-) Вероятно выводится тут:

comment\raaa

"\r" - возврат каретки. Винда его вставляет в конец каждой строки - тяжёлое наследие ДОСа. Каретка возвращается, и "aaa" пишется поверх.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как работает команда read? Неправильно обрабатывается файл"  +/
Сообщение от Солоха email on 03-Окт-12, 20:29 
>> то есть печатает вторую переменную поверх первой?
> Блокнот, собака, подвёл небось :-) Вероятно выводится тут:
>
comment\raaa

> "\r" - возврат каретки. Винда его вставляет в конец каждой строки -
> тяжёлое наследие ДОСа. Каретка возвращается, и "aaa" пишется поверх.

И правда, файл-то виндового происхожденя! Пойду попробую убивать \r.  Спасибо!

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру