FAQ   •  Поиск
Вход  •  Регистрация
 
однострочные скрипты

 
Начать новую тему   Ответить на тему    Список форумов newssoft.ru -> Серверные команды
Предыдущая тема :: Следующая тема  
Автор Сообщение
admin
Site Admin


Зарегистрирован: 11.09.2008
Сообщения: 390

СообщениеДобавлено: Сб Ноя 21, 2009 1:07 am    Заголовок сообщения: однострочные скрипты Ответить с цитатой

collection of one-liners, a part is adapted from such a list by
Tom Christianson, one of the authors of "Programming Perl".

# the always present hallo world program, adapted to a Math department
perl -e 'print "Hello Mr Euler!\n"'

# rename in each file name the string aaa by bbb
ls | perl -ne 'chomp; next unless -e; $o = $_; s/aaa/bbb/; next if -e; rename $o, $_';

# add first and last column in each line of file foo.txt and print it out
perl -lane 'print $F[0] + $F[-1]' foo.txt

# print lines 15 to 17 of file foo.txt
perl -ne 'print if 15 .. 17' foo.txt

# a second way to print lines 3 to 5 of file foo.txt
perl -pe 'exit if 3<$. && $.<5' foo.txt

# change all words "foo"s to "bar"s in every .c file and keep backups
perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c

# the same but without backup. Remember the flags: "eat the pie"
perl -p -i -e 's/foo/bar/g' *.c

# changes ^M newline characters to newlines
perl -p -i -e 's/\012?\015/\n/g' $1

# the same but with all files with name filename
perl -p -i -e 's/foo/bar' `find . -name "filename"`

# substitution can also be applied to binary files like test.ppm
perl -p -i -e 's/255/127/g' test.ppm

# substitute "xyz.math" to "abc.math" in every .html file and keep backups
perl -p -i.bak -e 's/xyz\.math/abc\.math/g' *.html

# insert department name after each title and keep backup
perl -p -i.bak -e 's#<title>#<title>Harvard .: #i' *.html

# delete first 10 lines in foo.txt and keep backup foo.txt.bak
perl -i.bak -ne 'print unless 1 .. 10' foo.txt

# change isolated occurrence of aaa to bbb in each file *.c or *.h
perl -p -i.bak -e 's{\baaa\b}{bbb}g' *.[ch]

# reverses lines of file foo.txt and print it
perl -e 'print reverse <>' foo.txt

# find palindromes in a dictionary /usr/share/dict/words
perl -lne 'print if $_ eq reverse' /usr/share/dict/words

# reverses paragraphs in file foo.txt
perl -00 -e 'print reverse <>' foo.txt

# increments all numbers in foo.tx by 1
perl -pe 's/(\d+)/ 1 + $1 /ge' foo.txt

# reverses order of characters in each line of foo.txt

perl -nle 'print scalar reverse $_' foo.txt

# print lines beween START and END in foo.txt to STDOUT
perl -ne 'print if /^START$/ .. /^END$/' foo.txt

# delete lines beween START and END and backup original file
perl -i.old -ne 'print unless /^START$/ .. /^END$/' foo.txt

# look for duplicated words in a line
perl -0777 -ne 'print "$.: doubled $_\n" while /\b(\w+)\b\s+\b\1\b/gi' foo.txt

# start Perl debugger "stand-alone"
perl -d -e 42

# run a Perl program program.pl with warnings
perl -w program.pl

# run a Perl program program.pl with debugger
perl -d program.pl

# Run perl program program.pl, check syntax, print warnings
perl -wc program.pl
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
admin
Site Admin


Зарегистрирован: 11.09.2008
Сообщения: 390

СообщениеДобавлено: Вс Ноя 01, 2015 5:46 pm    Заголовок сообщения: Ответить с цитатой

сравнение двух списков
grep -Fxv -f backuplist.txt userlist.txt
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
admin
Site Admin


Зарегистрирован: 11.09.2008
Сообщения: 390

СообщениеДобавлено: Ср Ноя 25, 2015 7:41 pm    Заголовок сообщения: Ответить с цитатой

https://nixtricks.wordpress.com/2013/01/09/sed-delete-the-lines-lying-in-between-two-patterns/
Let’s take an plain text file, input.txt, that looks like this
PATTERN-1
First line of unimportant text
Second line of unimportant text
PATTERN-2
Some more texts (may/ mayn't be important!)

We want to delete some of the lines from the file using the command line stream editor, sed.

1. Use the following command to delete the lines lying between PATTERN-1 and PATTERN-2 , excluding the lines containing these patterns:
sed '/PATTERN-1/,/PATTERN-2/{//!d}' input.txt

If you want to modify the file itself, instead of just the file stream, include the “-i” flag after sed.

2. Use the following command to delete the lines lying between PATTERN-1 and PATTERN-2 , including the lines containing these patterns:
sed '/PATTERN-1/,/PATTERN-2/d' input.txt

3. To delete all the lines after PATTERN-2, use this
sed '/PATTERN-1/,$d' input.txt

4. To delete lines, say 2 through 4 (if you know the correct line numbers, of course!), use this

sed '2,4d' input.txt

Here is a good sed reference.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
admin
Site Admin


Зарегистрирован: 11.09.2008
Сообщения: 390

СообщениеДобавлено: Вт Авг 23, 2016 8:43 am    Заголовок сообщения: Убрать перенос строки ^M из файла Ответить с цитатой

Убрать перенос строки ^M из файла

perl -i -npe 's/\r//' /путь/имя_файла
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
admin
Site Admin


Зарегистрирован: 11.09.2008
Сообщения: 390

СообщениеДобавлено: Вт Янв 10, 2017 12:30 pm    Заголовок сообщения: Ответить с цитатой

ip addr show
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
admin
Site Admin


Зарегистрирован: 11.09.2008
Сообщения: 390

СообщениеДобавлено: Вс Мар 12, 2017 12:44 pm    Заголовок сообщения: Ответить с цитатой

http://www.shellhacks.com/ru/Udalenie-Pervyh-i-Poslednih-Simvolov-iz-Strok-v-Bash
как удалить несколько символы в начале кажой строки в Bash и как напечатать часть строки между заданными первым и последним символами, используя команду cut.

Вы также узнаете как удалить последние символы в конце каждой строки с помощью хитрости и команды reverse.

Я создал файл со следующим содержимым и буду использовать его в примерах ниже. Допустим нам необходимо удалить несколько символов с начала и с конца каждой строки этого файла.
$ cat file
12345===I Love Bash===54321
12345===I Love Bash===54321
12345===I Love Bash===54321
Удалить Первые N Символов Каждой Строки

Используйте следующую команду чтобы удалить первые 5 символов каждой строки (удаляем первые 5 символов и печатаем каждую строку, начиная с 6-ого символа) :
$ cat file | cut -c 6-
===I Love Bash===54321
===I Love Bash===54321
===I Love Bash===54321
Печать Строки Между Заданными Символами
Используйте следующую команду чтобы напечатать содержимое каждой строки между 9-ым и 20-ым символами в Bash :
$ cat file | cut -c 9-20
I Love Bash
I Love Bash
I Love Bash
Печать Первых N Символов Каждой Строки

Используйте следующую команду чтобы напечатать первые 20 символов каждой строки в Bash :
$ cat file | cut -c 1-20
12345===I Love Bash
12345===I Love Bash
12345===I Love Bash
Удалить Последний Символ Каждой Строки

Используя сочетание команд reverse и cut, мы можем удалять последние N символов каждой строки, как показано ниже. (источник)

Используйте следующую команду чтобы удалить последний символ каждой строки в Bash :
$ rev file | cut -c 2- | rev
12345===I Love Bash===5432
12345===I Love Bash===5432
12345===I Love Bash===5432
Удалить Последние N Символов Каждой Строки

Используйте следующую команду чтобы удалить последние 8 символов каждой строки в Bash :
$ rev file | cut -c 9- | rev
12345===I Love Bash
12345===I Love Bash
12345===I Love Bash
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов newssoft.ru -> Серверные команды Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
AllSat 22  - photographe de mariage - 2006