Есть файл с кучей строк в несколько колонок.
Отсортировать по какой-нибудь колонке нет возможности ибо они не уникальны.Нашел sed -n '1p' file.txt и sed -n '$p' file.txt
А вот как загнать это в цикл for - не знаю...
for i in `cat file.txt | wc -l` ; do
sed -n '$ip' file.txt
куча операций со строками ....
...
...
doneЧто есть покрасивее?
>[оверквотинг удален]
>
>for i in `cat file.txt | wc -l` ; do
>
> sed -n '$ip' file.txt
> куча операций со строками ....
> ...
> ...
>done
>
>Что есть покрасивее?Вот вам пара способов:
while read i; do
...
...
done < file.txtcat file.txt | while read i; do
...
...
done
>[оверквотинг удален]
>
>for i in `cat file.txt | wc -l` ; do
>
> sed -n '$ip' file.txt
> куча операций со строками ....
> ...
> ...
>done
>
>Что есть покрасивее?Не совсем понятно в чем задача, но построчно фаил считать можно и так.
cat file.txt|while read LINE
do
echo $LINE #(любые действия со строкой)
done
>cat file.txt|while read LINE
>do
> echo $LINE #(любые действия
>со строкой)
>doneThanks. Помогло.
[...]
>for i in `cat file.txt | wc -l` ; doВыражение cat file.txt | wc -l вернёт вам ровно одно число -- количество строк в файле. Цикл выполнится ровно один раз. Это, наверное, не то что вы хотели, верно?
> sed -n '$ip' file.txt
Это уже FAQ! Если нужно передать sed'у значение переменной, то можно использовать двойные кавычки вместо одинарных. Разница в том, что в одинарных кавычах переменные не подставляются.
>Что есть покрасивее?
Вам тут while + read предлагают.