Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Помогите сделать простенький скрипт на перле (шелле)
цитата
08/01/15 в 14:07
 FreeMann
привет всем, помогите написать скриптик на вход которого поступает текстовый файл с содержимым
1
2
32
48
59

и т.д. (цифры разные)
на выходе получаю
1
2
32
48
59

т.е. с пробелами перед и после цифры.

Заранее спасибо.
цитата
08/01/15 в 14:24
 Дартаньян
FreeMann:, sort -n 1.txt > 1.sort ? если нет стучи в скайп накидаю тебе на питоне.
цитата
08/01/15 в 16:34
 FreeMann
спасибо, Дартаньян:, но не работает. на питоне - не нужно, кто знает перл это должно быть просто сделать, сам к сожалению не силен icon_sad.gif
Еще раз: на входе скрипту нужно скормить файл с цифрами без пробелов, на выходе требуется получить те же цифры с одним пробелом перед ними и одним пробелом после.
Не обязательно на перле, на любом языке работающим с текстом, sed, awk, пофиг на чем. к питону даже не знаю с какой стороны подойти - поэтому наверно не надо.
цитата
08/01/15 в 16:51
 Дартаньян
FreeMann:,
python script.py 1.txt > 2.txt

# -*- coding: utf-8 -*-
#!/usr/bin/env python

import sys

for line in open(sys.argv[1]):
   print ' ' + line.strip + ' '
цитата
08/01/15 в 17:01
 Mika
можно так
sed 's/.*/ & /' input.txt > output.txt
цитата
08/01/15 в 17:06
 FreeMann
Дартаньян:

python pr.py 1.txt > 2.txt

вот что получаю:

Traceback (most recent call last):
File "pr.py", line 6, in <module>
print ' ' + line.strip + ' '
TypeError: cannot concatenate 'str' and 'builtin_function_or_method' objects
цитата
08/01/15 в 17:08
 FreeMann
Mika: супер, работает, спасибо smail54.gif
цитата
08/01/15 в 17:17
 Mika
Дартаньян писал:
FreeMann:,
python script.py 1.txt > 2.txt

# -*- coding: utf-8 -*-
#!/usr/bin/env python

import sys

for line in open(sys.argv[1]):
   print ' ' + line.strip + ' '


ты забыл скобочки добавить после line.strip
цитата
08/01/15 в 17:23
 Дартаньян
Mika: ах точно, ну и фиг сним.
цитата
08/01/15 в 17:38
 FreeMann
да, вот так работает отлично

#!/usr/bin/env python

import sys

for line in open(sys.argv[1]):
print ' ' + line.strip() + ' '

Всем спасибо


Эта страница в полной версии