Как заменить строки символами от X до Y

У меня была такая же проблема. Я решил загрузить загружаемый файл firefox add-on и обновить его с помощью selenium.

Код в python следующий

fp = webdriver.FirefoxProfile()
path_modify_header = 'C:/xxxxxxx/modify_headers-0.7.1.1-fx.xpi'
fp.add_extension(path_modify_header)

fp.set_preference("modifyheaders.headers.count", 1)
fp.set_preference("modifyheaders.headers.action0", "Add")
fp.set_preference("modifyheaders.headers.name0", "Name_of_header") # Set here the name of the header
fp.set_preference("modifyheaders.headers.value0", "value_of_header") # Set here the value of the header
fp.set_preference("modifyheaders.headers.enabled0", True)
fp.set_preference("modifyheaders.config.active", True)
fp.set_preference("modifyheaders.config.alwaysOn", True)

driver = webdriver.Firefox(firefox_profile=fp)
-1
задан DomainsFeatured 23 February 2019 в 21:57
поделиться

3 ответа

awk 'BEGIN{FS=OFS=","} $2<1000000000 || $2>99999999999 {$2=12223334444} {print}' file

или короче:

awk 'BEGIN{FS=OFS=","} $2<1000000000 || $2>99999999999 {$2=12223334444}1' file

или

awk 'BEGIN{FS=OFS=","} length($2)<10 || length($2)>11 {$2=12223334444}1' file

или

awk 'BEGIN{FS=OFS=","} {l=length($2)} l<10 || l>11 {$2=12223334444}1' file

или

awk -F, -v OFS=, '{l=length($2)} l<10 || l>11 {$2=12223334444}1' file

Выход:

2496 12223334444 1/7/19 18:58 9723308800
7,18538320322,1/7/19 19:22,13012881250
8827,9723308808,1/7/19 19:55,9723308800
3109 12223334444 1/7/19 19:56 19723308800

См .: 8 Мощных встроенных переменных Awk - FS, OFS, RS, ORS, NR, NF, FILENAME, FNR

0
ответ дан Cyrus 23 February 2019 в 21:57
поделиться

Это может работать для вас (GNU sed):

sed -E '/^[^,]*,[^,]{10,11},/!s/[^,]*/12223334444/2' file

Если второе поле, разделенное ,, не имеет 10 или 11 символов, замените поле на 12223334444.

0
ответ дан potong 23 February 2019 в 21:57
поделиться

другой awk

$ awk 'BEGIN{FS=OFS=","} (s=length($2))!=10 && s!=11{$2=12223334444}1' file

или

$ awk 'BEGIN{FS=OFS=","} (s=length($2))<10 || s>11{$2=12223334444}1' file

может быть в дальнейшем сыгран в гольф

$ awk 'BEGIN{FS=OFS=","} $2!~/^.{10,11}$/{$2=12223334444}1' file
0
ответ дан karakfa 23 February 2019 в 21:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: