У меня была такая же проблема. Я решил загрузить загружаемый файл 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)
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
Это может работать для вас (GNU sed):
sed -E '/^[^,]*,[^,]{10,11},/!s/[^,]*/12223334444/2' file
Если второе поле, разделенное ,
, не имеет 10 или 11 символов, замените поле на 12223334444
.
другой 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