Ребят, не знаю куда уже обратиться, чувствую себя уже непонятно... ну в общем суть вопроса такова..

Есть линукс, есть текстовый файл, ну допустим вида

"
1
2
3
4
5
6
7
"

необходимо вырезать третью снизу строку и вставить её в тот же файл первой... то есть результат должен быть

"
5
1
2
3
4
6
7
"

2 (19.12.2012 00:43:18 отредактировано gramozeka)

bash работа со строками в файле
и до чего ж народ ленивый пошёл, того глядишь и писать разучатся со своими айфонами-дроидами...

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

3

gramozeka пишет:

bash работа со строками в файле
и до чего ж народ ленивый пошёл, того глядишь и писать разучатся со своими айфонами-дроидами...

видимо я не ленивый,а тупой... ибо не нашёл ответа в мануалах

4

Th3Fall3n0n3 пишет:

видимо я не ленивый,а тупой...

самобичевание - путь в тартар, а лень имеет порой весьма причудливые формы, это только в раннем детстве можно вылечить( хорошей поркой к примеру ) , а в жизни нельзя быть таким ленивым, чревато весьма.

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

5

блин, вместо всего этого уже сто раз можно было хотя бы намекнуть.... максимум что смогу строку выбрать нужную с помощью sed

6 (19.12.2012 00:56:13 отредактировано gramozeka)

Th3Fall3n0n3 пишет:

блин, вместо всего этого уже сто раз можно было хотя бы намекнуть.... максимум что смогу строку выбрать нужную с помощью sed

ну так и вставь её туда куда нужно этим же сидом - в одну строку делов то.
Учевник по sed
Учебник по Bash

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

7

я понимаю, но проблема в том, что я виндовый админ, для меня консолб линуха -дремучий лес..я пытаюсь понять - но не доходит

8

Th3Fall3n0n3 пишет:

я понимаю, но проблема в том, что я виндовый админ, для меня консолб линуха -дремучий лес..я пытаюсь понять - но не доходит

кого волнует какой ты админ ? Работа в консоли в винде ли, в солярисе ли, в BSD ли, в линуксе не одна ли CENSORED а ? Тот же черный экран, те же буковки, те же маны и хелпы и работает точно так же. Как ты эту задачу выполнишь в виндовском shell'е ? Точно так же эта CENSORED может бить выполнена в баше, сиде и т.д. , ну да синтаксис, правила построения команд весь цирк с конями... ты реши сперва чем будешь решать задачу, попробуй её решить сам, по учебнику, что не получится спрашивай.

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

9

ясно, спасибо за помощь, такой же удачи вам в жизни...

10 (19.12.2012 02:24:55 отредактировано karl_muenhgausen)

gramozeka пишет:

в консоли в винде ли, в солярисе ли, в BSD ли, в линуксе не одна ли CENSORED а ? Тот же черный экран, те же буковки, те же маны и хелпы и работает точно так же

Вы не правы! Это новая генерация Вики... Им заставить старенького спеца раскошелиться на знания быстрее и проще, чем маны открыть.

А тут дитятко зачёт сдаёт. Куда ж как не сюда с вопросом?

11

karl_muenhgausen пишет:

Куда ж как не сюда с вопросом?

да кто ж против то, тут только "ЗА". Но правила едины в любой ипостаси, как ни крути...

... «in the context of» ... libastral.so у меня чёйто паламалси ...

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

12 (19.12.2012 02:58:33 отредактировано karl_muenhgausen)

gramozeka пишет:

libastral.so у меня чёйто паламалси ...

Угу... И blabla.run не работает... Чавой-то с дистрибутивом.

И дитятке с зачётом почему-то никто не ответил честно: RTFM!

13 (19.12.2012 03:20:46 отредактировано gramozeka)

karl_muenhgausen пишет:

И дитятке с зачётом почему-то никто не ответил честно: RTFM!

типа во :
http://storage9.static.itmages.ru/i/12/1219/s_1355872127_5413953_9ac24f61b8.png
а вообще, неосиляторство - есть жуткое зло, единоутробно библейской "Не вари козлёнка в молоке матери его." , демонстрация сего порока "напоказ" сродни езде в метро с голой задницей. Вроде бы и чё такого, ну подумаешь голая, за то вон какая подтянутая!, но во-первых, в метро так-то весьма прохладно и грязно, а во-вторых публика навряд ли оценит все прелести и достоинства роскошного зада, так похамит да постебается, ну кто понаглей может ещё ущипнёт или шлепнет от души, тащемта тухловатая затея, скажем, на корню...

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

Так лучше:

http://www.netlore.ru/upload/files/19/mao_rtfm_vectorize_by_cmenghi.png

15

package main

import (
    "io/ioutil"
    "os"
    "strings"
)

func main() {
    bs, err := ioutil.ReadFile("file.txt")
    if err != nil {
        return
    }
    str := string(bs)
    lines := strings.Split(str, "\n")
    lines[0], lines[len(lines)-4] = lines[len(lines)-4], lines[0]

    str = strings.Join(lines, "\n")

    file, err := os.Create("file.txt")
    if err != nil {
        return
    }
    defer file.Close()
    file.WriteString(str)
}

Осталось скомпилять:)

Да, у меня Ubuntu.
Нет, не глючит.

16

Да что же Вы звери творите то?  ag
Человек пошёл учится на Linux в УЦ "Специалист" там эту задачку задают после первых 2х уроков, как усвоение материала, а вы ему скирпты подготовили  bv

Я разобьюсь о собственное непонимание волнообразно и неправильно, обломки зубов будут Вам маяками, Вы в мальгани, а у меня кошки разгуливают по камере и каждое нажатие клавиши сопровождается праздником, просто не мешайте маленькому человеку наслаждаться его маленьким счастьем.

17

Соответственно, получить третью с конца строку:

tail -n 3 имя_файла.txt | head -1

Вставить текст some text в начало файла:

 sed -i -e "1 s/^/sometext\n/;" имя_файла.txt

До конца, думаю, не сложно разобраться самостоятельно. Если будут вопросы - обращайтесь.

karl_muenhgausen пишет:

Это новая генерация Вики...

Да ладно?
Не знаю, кто такая Вика, но нормальное у нас поколение.

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы

18

Ой. А я почему-то подумал, что строки нужно местами поменять...

Да, у меня Ubuntu.
Нет, не глючит.

19

-=Serj=- пишет:

Ой. А я почему-то подумал, что строки нужно местами поменять...

А что мешает просто удалить лишнюю?
Как говорилось

raven_cler пишет:

До конца не сложно разобраться самостоятельно

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы

20

-=Serj=- пишет:

А я почему-то подумал, что строки нужно местами поменять...

Хотя не спорю, не самое красивое из возможных решений.
Тут же вариантов может быть масса на самом деле. Вы вот скрипт на python  дали.

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы

21

step_slim пишет:

Человек пошёл учится на Linux в УЦ "Специалист" там эту задачку задают после первых 2х уроков, как усвоение материала, а вы ему скирпты подготовили

Кстати, это сарказм или серьёзно?

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы

22 (25.12.2012 18:39:26 отредактировано -=Serj=-)

raven_cler пишет:

Вы вот скрипт на python  дали

Каюсь. Это не Python, это исходник на Go ab

raven_cler пишет:

А что мешает просто удалить лишнюю?

Не пойдёт...
Вариант на Python

lines = open('file1.txt' ,'r').readlines()
lines.insert(0, lines.pop(4))
open('file1.txt', 'w').writelines(lines)
Да, у меня Ubuntu.
Нет, не глючит.

23

-=Serj=- пишет:

Это не Python, это исходник на Go

этто ещё что за штука?

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы

24

raven_cler пишет:

этто ещё что за штука?

http://ru.wikipedia.org/wiki/Go

Да, у меня Ubuntu.
Нет, не глючит.

25

М-да. Я ещё долго думал, глядел...
На практике некая смесь Си и питона получается?

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы

26

raven_cler пишет:

На практике некая смесь Си и питона получается?

Да я сам его только слегка поглядел. Там, по-моему, чего только не намешали:)

Да, у меня Ubuntu.
Нет, не глючит.