вырезать первые два символа во втором столбце

Вы можете сделать вторую запись в FAT (или в другом месте).
Я делаю это для моего файла HOSTS . У меня есть ссылка в доступном для записи каталоге, которая относится к файлу и имеет разные разрешения, поэтому у меня есть / Hosts / HOSTS , которые я могу легко изменить, и изменения вносятся в оба (т.е. ") файл (ы). Это 2 записи на 1 файл. Я не помню команду, извините.

Для вас вы делаете ссылку на / opt для всех файлов в .rubies , и когда вы меняете что-либо в / opt , это тот же файл, что и в .rubies .

2
23.03.2017, 18:49
1 ответ

Все, что вам нужно для этого:

awk -F, -vOFS="," '{print $2,$4}' file 

-F, устанавливает разделитель полей на , а -vOFS = "," устанавливает разделитель выходных полей на , . Затем мы просто печатаем 2-е и 4-е поля каждой строки. В вашем примере файла это возвращает:

$ awk -F, -vOFS="," '{print $2,$4}' file 
name,country
"Alabama","USA"
"Alaska","USA"
"Arizona","USA"
"Arkansas","USA"
"California","USA"
"Colorado","USA"
"Connecticut","USA"
"Delaware","USA"
"Florida","USA"
"Georgia","USA"
"Hawaii","USA"
"Idaho","USA"
"Illinois","USA"
"Indiana","USA"
"Iowa","USA"
"Kansas","USA"
"Kentucky","USA"
"Louisiana","USA"
"Maine","USA"
"Maryland","USA"
"Massachusetts","USA"
"Michigan","USA"
"Minnesota","USA"
"Mississippi","USA"
"Missouri","USA"
"Montana","USA"
"Nebraska","USA"
"Nevada","USA"
"New Hampshire","USA"
"New Jersey","USA"
"New Mexico","USA"
"New York","USA"
"North Carolina","USA"
"North Dakota","USA"
"Ohio","USA"
"Oklahoma","USA"
"Oregon","USA"
"Pennsylvania","USA"
"Rhode Island","USA"
"South Carolina","USA"
"South Dakota","USA"
"Tennessee","USA"
"Texas","USA"
"Utah","USA"
"Vermont","USA"
"Virginia","USA"
"Washington","USA"
"West Virginia","USA"
"Wisconsin","USA"
"Wyoming","USA"
"Washington DC","USA"
"Alberta","Canada"
"British Columbia","Canada"
"Manitoba","Canada"
"New Brunswick","Canada"
"Newfoundland and Labrador","Canada"
"Nova Scotia","Canada"
"Ontario","Canada"
"Prince Edward Island","Canada"
"Quebec","Canada"
"Saskatchewan","Canada"

Чтобы удалить кавычки, вы можете передать это через tr :

awk -F, -vOFS="," '{print $2,$4}' file | tr -d \"

Чтобы получить результат точно , как вы показываете (так что нет ", США вместо США и Ca вместо Канада ), вы можете использовать (при условии GNU sed ):

awk -F, -vOFS="," '{print $2,$4}' file | sed 's/"//g; s/USA/US/; s/Canada/Ca/'

Или, если у вас нет GNU sed :

awk -F, -vOFS="," '{print $2,$4}' file | sed -e 's/"//g' -e 's/USA/US/' -e 's/Canada/Ca/'
2
27.01.2020, 22:10

Теги

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