powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Необходимо с помощью имеющихся средств написать и выполнить скрипт, который комментирует
6 сообщений из 6, страница 1 из 1
Необходимо с помощью имеющихся средств написать и выполнить скрипт, который комментирует
    #37891216
Alex01975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В домашнем каталоге в файле text.txt лежит список зеркал.

Необходимо с помощью имеющихся средств написать и выполнить скрипт, который комментирует в исходном файле все строки, относящиеся к не российским зеркалам (домен .ru). Если в начале строки файла уже стоит символ комментария (#), то новый добавлять не нужно.

TCP: Hash tables configured (established 1024 bind 512)
TCP reno registered
Total HugeTLB memory allocated, 0
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Real Time Clock Driver v1.12ac
JS clipboard: I/O at 0x03c0
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a XScale
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
hda: JSLinux HARDDISK, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: max request size: 128KiB
hda: 116736 sectors (59 MB) w/256KiB Cache, CHS=115/16/63
hda: unknown partition table
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Using IPI Shortcut mode
Time: pit clocksource has been installed.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 128k freed
Booted in 2.749 s
Welcome to JS/Linux
\var\root # cat text.txt
Server = http://cake.lib.fit.edu/archlinux/$repo/os/$arch
Server = http://mirrors.cat.pdx.edu/archlinux/$repo/os/$arch
Server = http://cosmos.cites.illinois.edu/pub/archlinux/$repo/os/$arch
Server = http://www.gtlib.gatech.edu/pub/archlinux/$repo/os/$arch
Server = http://mirror.ancl.hawaii.edu/linux/archlinux/$repo/os/$arch
Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch
Server = http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch
Server = http://lug.mtu.edu/archlinux/ftpfull/$repo/os/$arch
Server = http://mirror.umd.edu/archlinux/$repo/os/$arch
Server = http://mirrors.gigenet.com/archlinux/$repo/os/$arch
Server = http://mirrors.liquidweb.com/archlinux/$repo/os/$arch
Server = http://mirrors.xmission.com/archlinux/$repo/os/$arch
Server = http://mirror.mocker.org/archlinux/$repo/os/$arch
Server = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
Server = http://mirror.rit.edu/archlinux/$repo/os/$arch
Server = http://mirrors.rutgers.edu/archlinux/$repo/os/$arch
Server = http://schlunix.org/archlinux/$repo/os/$arch
Server = http://mirrors.lax1.thegcloud.com/arch/$repo/os/$arch
Server = http://hive.ist.unomaha.edu/archlinux/$repo/os/$arch
Server = http://mirror.yellowfiber.net/archlinux/$repo/os/$arch

## Uzbekistan
Server = http://mirrors.st.uz/archlinux/$repo/os/$arch

## Viet Nam
Server = http://mirror-fpt-telecom.fpt.net/archlinux/$repo/os/$arch

## South Africa
Server = http://ftp.wa.co.za/pub/archlinux/$repo/os/$arch
\var\root #
...
Рейтинг: 0 / 0
Необходимо с помощью имеющихся средств написать и выполнить скрипт, который комментирует
    #37891260
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем проблема? sed или awk вполне подойдет.
...
Рейтинг: 0 / 0
Необходимо с помощью имеющихся средств написать и выполнить скрипт, который комментирует
    #37891269
aaaaaaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex01975,
Какие средства?
http://ru.wikipedia.org/wiki/Sed
sed'ом что-то вроде
sed 's/^[^#].*\.ru.*/#&/g'
Пример:
echo -e "1.com\n2.ru\n3.net\n#4.ru"
Вывод:
1.com
2.ru
3.net
#4.ru
Пример: echo -e "1.com\n2.ru\n3.net\n#4.ru" | sed 's/^[^#].*\.ru.*/#&/g'
Вывод:
1.com
#2.ru
3.net
#4.ru
########################
sed 's/^[^#].*\.ru.*/#&/g'
^ - обозначает начало строки
^ в квадратных скобках [] - обозначает исключение символов перечисленных в []
соответственно ^[^#] - все строки не начинающися с #
.*\.ru.* - соответствует Что-Угодно.ruЧто-Угодно
& - содержит всю обрабатываемую строку
...
Рейтинг: 0 / 0
Необходимо с помощью имеющихся средств написать и выполнить скрипт, который комментирует
    #37891274
aaaaaaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aaaaaaa,
echo -e "#1.com\n2.ru\n3.net\n#4.ru" | sed 's/^[^#].*\.[^ru].*/#&/g'
#1.com
2.ru
#3.net
#4.ru
...
Рейтинг: 0 / 0
Необходимо с помощью имеющихся средств написать и выполнить скрипт, который комментирует
    #37895083
m4j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
m4j
Гость
aaaaaaa,

а что делать с путями формата a.domen.ru он же их тоже коментит
...
Рейтинг: 0 / 0
Необходимо с помощью имеющихся средств написать и выполнить скрипт, который комментирует
    #37897043
Шогал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sed "/\.ru\//!s/^[^#]/#&/g"
Комментит все строки, не содержащие в себе ".ru/" и не начинающиеся с #
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Необходимо с помощью имеющихся средств написать и выполнить скрипт, который комментирует
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]