- bash получить все слова, заключеные в двойные кавычки, ACCA, 02:03 , 10-Дек-20 (1)
Разбирая JSON, используй правильный инструмент:$ echo '{"Иванов": 2, "Петров": 1, "Сидоров": 3, "Васильев": 2}' | jq -r 'keys []' Васильев Иванов Петров Сидоров
- bash получить все слова, заключеные в двойные кавычки, barbos, 16:54 , 10-Дек-20 (2)
>[оверквотинг удален] > могут меняться поэтому awk не подходит, с sed пока не разобрался > пробую следующим образом > $echo 'списки всех студентов{"Иванов": 2, "Петров": 1, "Сидоров": 3, "Васильев": 2}' | > grep -Po ' "\K[^"]*' > вывод > Петров > Сидоров > Васильев > Первую позицию съело потому что перед ней нет пробела > Как получить все вхождения А если так? echo 'списки всех студентов{"Иванов": 2, "Петров": 1, "Сидоров": 3, "Васильев": 2}' | grep -Po '(\{| )"\K[^"]*'
- bash получить все слова, заключеные в двойные кавычки, fantom, 12:34 , 11-Дек-20 (4)
> Добрый день подскажите пожалуйста > Мне нужно получить все слова, заключеные в двойные кавычки, длина и позиции > могут меняться поэтому awk не подходит, с sed пока не разобрался И кто вам сказал такую чушь про awk??? Или сами придумали??? echo 'списки всех студентов{"Иванов С.": 2, "Петров У.": 1, "Сидоров": 3, "Васильев": 2}' |awk -F'"' '{for (k=0;k<100;k=k+2) {print $k}}' > пробую следующим образом > $echo 'списки всех студентов{"Иванов": 2, "Петров": 1, "Сидоров": 3, "Васильев": 2}' | > grep -Po ' "\K[^"]*' > вывод > Петров > Сидоров > Васильев > Первую позицию съело потому что перед ней нет пробела > Как получить все вхождения
- bash получить все слова, заключеные в двойные кавычки, fantom, 12:35 , 11-Дек-20 (5)
>> Добрый день подскажите пожалуйста >> Мне нужно получить все слова, заключеные в двойные кавычки, длина и позиции >> могут меняться поэтому awk не подходит, с sed пока не разобрался И кто вам сказал такую чушь про awk??? Или сами придумали??? echo 'списки всех студентов{"Иванов С.": 2, "Петров У.": 1, "Сидоров": 3, "Васильев": 2}' |awk -F'"' '{for (k=0;k<100;k=k+2) {print $k}}'
Иванов С. Петров У. Сидоров Васильев >> пробую следующим образом >> $echo 'списки всех студентов{"Иванов": 2, "Петров": 1, "Сидоров": 3, "Васильев": 2}' | >> grep -Po ' "\K[^"]*' >> вывод >> Петров >> Сидоров >> Васильев >> Первую позицию съело потому что перед ней нет пробела >> Как получить все вхождения
- bash получить все слова, заключеные в двойные кавычки, fantom, 12:37 , 11-Дек-20 (6)
>[оверквотинг удален] >>> Мне нужно получить все слова, заключеные в двойные кавычки, длина и позиции >>> могут меняться поэтому awk не подходит, с sed пока не разобрался > И кто вам сказал такую чушь про awk??? Или сами придумали??? > echo 'списки всех студентов{"Иванов С.": 2, "Петров У.": 1, "Сидоров": 3, > "Васильев": > 2}' |awk -F'"' '{for (k=0;k<100;k=k+2) {print $k}}' > Иванов С. > Петров У. > Сидоров > Васильев и в строке можете вообще любую ересь впихнуть -- все равно будет выдавать строго между двойными кавычками... >>> пробую следующим образом >>> $echo 'списки всех студентов{"Иванов": 2, "Петров": 1, "Сидоров": 3, "Васильев": 2}' | >>> grep -Po ' "\K[^"]*' >>> вывод >>> Петров >>> Сидоров >>> Васильев >>> Первую позицию съело потому что перед ней нет пробела >>> Как получить все вхождения
- bash получить все слова, заключеные в двойные кавычки, fantom, 12:47 , 11-Дек-20 (7)
>[оверквотинг удален] >> И кто вам сказал такую чушь про awk??? Или сами придумали??? >> echo 'списки всех студентов{"Иванов С.": 2, "Петров У.": 1, "Сидоров": 3, >> "Васильев": >> 2}' |awk -F'"' '{for (k=0;k<100;k=k+2) {print $k}}' >> Иванов С. >> Петров У. >> Сидоров >> Васильев > и в строке можете вообще любую ересь впихнуть -- все равно будет > выдавать строго между двойными кавычками...Ну и полностью готовый вариант TEXT='списки всех студентов{"Иванов С.": "2", "Петров У.": 1, "Сидоров": 3, "Васильев": 2}'; IDX=`echo $TEXT|grep -o '"' | wc -l`; echo $TEXT| awk -F'"' -v idx="${IDX}" '{for (k=2;k<=idx;k=k+2) {print $k}}' >>>> пробую следующим образом >>>> $echo 'списки всех студентов{"Иванов": 2, "Петров": 1, "Сидоров": 3, "Васильев": 2}' | >>>> grep -Po ' "\K[^"]*' >>>> вывод >>>> Петров >>>> Сидоров >>>> Васильев >>>> Первую позицию съело потому что перед ней нет пробела >>>> Как получить все вхождения
- bash получить все слова, заключеные в двойные кавычки, Потапенко, 12:47 , 13-Дек-20 (8)
>[оверквотинг удален] >>> Иванов С. >>> Петров У. >>> Сидоров >>> Васильев >> и в строке можете вообще любую ересь впихнуть -- все равно будет >> выдавать строго между двойными кавычками... > Ну и полностью готовый вариант > TEXT='списки всех студентов{"Иванов С.": "2", "Петров У.": 1, "Сидоров": 3, "Васильев": > 2}'; IDX=`echo $TEXT|grep -o '"' | wc -l`; echo $TEXT| awk > -F'"' -v idx="${IDX}" '{for (k=2;k<=idx;k=k+2) {print $k}}' Потапенко >>>>> пробую следующим образом >>>>> $echo 'списки всех студентов{"Иванов": 2, "Петров": 1, "Сидоров": 3, "Васильев": 2}' | >>>>> grep -Po ' "\K[^"]*' >>>>> вывод >>>>> Петров >>>>> Сидоров >>>>> Васильев >>>>> Первую позицию съело потому что перед ней нет пробела >>>>> Как получить все вхождения Спасибо. Классно получилось
|