+7 727 2 700 900
+7 727 2 999 666
+7 707 240 62 00
+7 707 270 99 99
поиск RDP win sed Ubuntu |
rename-files кодировки виртуалки полезности |
Обрезать строку от начала ДО символа < sed 's/.*<//' или grep -o '^[^<]*' или sed 's/<.*//'
Обрезать строку ПОСЛЕ символа < и до конца sed -r 's/>.+//'
Строчные буквы и без пробелов с табуляцией:
sed -i 's/.*/\L&/; s/^[ \t]*//; s/[ \t]*$//'
Поменять строки попарно местами
cat файл|perl -e 'while(<>){if($i%2==0){$f=$_;}else{print; print $f;}; $i++;} if ($i%2==1) {print $f;}'
Вставит # в начало строки, содержащей в начале Заглавные буквы на кирилице
sed '/^[А-Я]/s/^/#/g'
# удаляем пробелы и табуляции с начала каждой строки
# весь текст выравнивается по левому краю
sed 's/^[ \t]*//'
# удаляем пробелы и табуляции в конце каждой строки
sed 's/[ \t]*$//'
# удалить пробелы и табуляции как в начале так и в конце строки
sed 's/^[ \t]*//;s/[ \t]*$//'
# вставить 5 пробелов в начале каждой строки (смещение страницы)
sed 's/^/ /'
# выравнивание всего текста по правому краю на ширину колонки 79
sed -e :a -e 's/^.\{1,78\}$/ &/;ta' # задаем 78 плюс 1 пробел
# выровнять весь текст по центру, два метода
sed -e :a -e 's/^.\{1,77\}$/ & /;ta' # method 1
sed -e :a -e 's/^.\{1,77\}$/ &/;ta' -e 's/\( *\)\1/\1/' # method 2
# замена в каждой строке "foo" на "bar"
sed 's/foo/bar/' # заменяет только первое найденное значение в строке
sed 's/foo/bar/4' # заменяет только 4 первых значений в строке
sed 's/foo/bar/g' # заменяет все значения в строке
sed 's/\(.*\)foo\(.*foo\)/\1bar\2/' # заменяет следующий за встреченным
sed 's/\(.*\)foo/\1bar/' # заменяет только последнее "foo"
# заменить "foo" на "bar" ТОЛЬКО для строк, в которых есть "baz"
sed '/baz/s/foo/bar/g'
# заменить "foo" на "bar" КРОМЕ тех строк, в которых есть "baz"
sed '/baz/!s/foo/bar/g'
# заменить "scarlet" или "ruby" или "puce" на "red"
sed 's/scarlet/red/g;s/ruby/red/g;s/puce/red/g' # все seds
gsed 's/scarlet\|ruby\|puce/red/g' # GNU sed
# расстановка строк в обратном порядке (эмуляция "tac")
# bug/feature в HHsed v1.5 удаляет еще и все пустые строки
sed '1!G;h;$!d' # метод 1
sed -n '1!G;h;$p' # метод 2
# reverse each character on the line (emulates "rev")
sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'
# соединяет пары строк друг с другом (как "paste")
sed '$!N;s/\n/ /'
# если строка заканчивается на backslash (\), присоединить следующую
# строку к ней
sed -e :a -e '/\\$/N; s/\\\n//; ta'
# если строка начинается со знака равенства, добавить ее
# к предыдущей строке и заменить "=" на один пробел
sed -e :a -e '$!N;s/\n=/ /;ta' -e 'P;D'
# разделять числа запятыми, заменяет "1234567" на "1,234,567"
gsed ':a;s/\B[0-9]\{3\}\>/,&/;ta' # GNU sed
sed -e :a -e 's/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta' # все seds
# добавить запятые для чисел с десятичной точкой и знаком минуса
gsed -r ':a;s/(^|[^0-9.])([0-9]+)([0-9]{3})/\1\2,\3/g;ta'
# добавить строку каждые 5 строк (после строк 5, 10, 15, 20, и тд.)
gsed '0~5G' # GNU sed
sed 'n;n;n;n;G;' # все seds
Поступление колёс, колёсных опор и роликов - · 2016-01-20 08:53:12
sed -r 's/ [0-1].+$//'
Поступление колёс, колёсных опор и роликов - · 2016-01-20
Удаляем теги HTML:
sed -r -e :a -e 's/<[^>]*>//g;/</N;//ba; /[()&]/d'
Выравнивание по левому краю
sed 's/^[ \t]*//'
Параметр -i служит для изменения в файле
Все буквы будут большими:
sed -i 's/.*/\U&/' *.txt
Все буквы будут маленькими:
sed -i 's/.*/\L&/' *.txt
Сцепить строки из файла в одну:
sed ':a;N;$!ba;s/\n//g' file
Удалить пустые строки:
sed '/^$/d'
Сцепить попарно строки:
sed 'N;s/\n/ - /'
Вставить в окончание строки .txt
sed 's/$/\.txt/g'
Строка в колонку после "символ":
sed 's/символ/\n/g'
Jun 13 12:37:15 nxdomain dhcpd: DHCPACK on 10.33.55.128 to 28:ba:b5:bd:d0:85 (android-2e785e0221e0c325) via eth1
sed 's/Jun [ 0-9:]*.*on //g'
10.33.55.121 to a0:b4:a5:2b:7b:0d (android-79c22831014bd70b) via eth1
Печатать часть файла основываясь на номерах строк (строки 8-12, включительно):
Версия 1: sed -n '8,12p'
Версия 2: sed '8,12!d'
Печатать все линии между двумя регулярными выражениями (включительно):
sed -n '/Начало/,/Окончание/p' (регистро зависимый)
Печатать все линии ИСКЛЮЧАЯ часть между двумя регулярными выражениями:
sed '/Начало/,/Окончание/d'
Использование переменных в скрипте:
Для sed:
1) кавычки не одинарные, а двойные.
2) имя переменной заключается в фигурные скобки
I=**
J=***
sed -n "${I},${J}p" file
Для grep:
...
t=$(echo $a | grep -o "^$var")
...