LinuxForum.Fans
Тема

Помогите. В замешательстве

Автор: Th3Fall3n0n3 26 сообщений 1757 просмотров
#291279

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

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

"
1
2
3
4
5
6
7
"

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

"
5
1
2
3
4
6
7
"

#291285
gramozeka написал:

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

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

#291287
"Th3Fall3n0n3" написал:
видимо я не ленивый,а тупой...

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

#291288

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

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

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

#291290

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

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

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

#291301

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

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

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

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

#291305
karl_muenhgausen написал:
Куда ж как не сюда с вопросом?

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

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

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

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

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

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

типа во :

а вообще, неосиляторство - есть жуткое зло, единоутробно библейской "Не вари козлёнка в молоке матери его." , демонстрация сего порока "напоказ" сродни езде в метро с голой задницей. Вроде бы и чё такого, ну подумаешь голая, за то вон какая подтянутая!, но во-первых, в метро так-то весьма прохладно и грязно, а во-вторых публика навряд ли оценит все прелести и достоинства роскошного зада, так похамит да постебается, ну кто понаглей может ещё ущипнёт или шлепнет от души, тащемта тухловатая затея, скажем, на корню...

#291427
text

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) }

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

#292500

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

#292583

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

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

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

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

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

"karl_muenhgausen" написал:
Это новая генерация Вики...

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

#292613

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

#292666
"-=Serj=-" написал:
Ой. А я почему-то подумал, что строки нужно местами поменять...
А что мешает просто удалить лишнюю?
Как говорилось

"raven_cler" написал:
До конца не сложно разобраться самостоятельно
#292678

"-=Serj=-" написал:
А я почему-то подумал, что строки нужно местами поменять...
Хотя не спорю, не самое красивое из возможных решений.
Тут же вариантов может быть масса на самом деле. Вы вот скрипт на python дали.
Войдите или зарегистрируйтесь, чтобы ответить.