Смотреть с командой awk

1842
user1271772

Как вы смотрите команду, как?

awk 'NR%2==0 ' filename.txt 

Предшествующий этому с "watch" дает эту ошибку:

awk: cmd. line:1: fatal: cannot open file `'" filename.txt 

2. Поместите команду в одинарные кавычки

Внутри одинарных кавычек не нужно "ни $экранировать. Однако невозможно включить одинарные кавычки в строку в одинарных кавычках. Если нам нужны одиночные кавычки появляются, работа вокруг, чтобы закончить одинарные кавычки и добавьте сбежавшего одиночные кавычки, \'. Это выглядит так:

watch 'awk '\''NR%2==0 '\' filename.txt 

3. Гибридный подход

Объединяя оба вышеперечисленных, мы помещаем первую часть строки в двойные кавычки, а вторую часть в одинарные кавычки:

watch "awk 'NR%2==0 '\' filename.txt 

4. Без кавычек, но полностью сбежал

Если мы не заключим команду в кавычки, нам нужно будет экранировать все необходимые символы, активные для оболочки. Это включает пробелы, кавычки, фигурные скобки и знаки доллара:

watch awk\ \'NR%2==0 \\' filename.txt 
1
2) http://www.linuxquestions.org/questions/linux-general-1/watch-with-awk-786942/ user1271772 7 лет назад 0
3) http://ubuntuforums.org/showthread.php?t=1554848 user1271772 7 лет назад 0
4) http://www.linuxquestions.org/questions/linux-general-1/escape-characters-in-watch-command-763327/ user1271772 7 лет назад 0
Я даже не мог опубликовать более 2 ссылок в своем вопросе, потому что для этого нужна репутация в 10 баллов. Вот почему я разместил их как комментарии user1271772 7 лет назад 0
Связанный: [Использование команды watch с аргументом, который содержит кавычки] (https://superuser.com/q/276701/358758) Marc.2377 6 лет назад 0

1 ответ на вопрос

4
John1024

Есть четыре подхода.

1. Поместите команду в двойные кавычки

Необходимо избегать как двойных кавычек, так и знаков доллара:

watch "awk 'NR%2==0 '" filename.txt 

2. Поместите команду в одинарные кавычки

Внутри одинарных кавычек не нужно "ни $экранировать. Однако невозможно включить одинарные кавычки в строку в одинарных кавычках. Если нам нужны одиночные кавычки появляются, работа вокруг, чтобы закончить одинарные кавычки и добавьте сбежавшего одиночные кавычки, \'. Это выглядит так:

watch 'awk '\''NR%2==0 '\' filename.txt 

3. Гибридный подход

Объединяя оба вышеперечисленных, мы помещаем первую часть строки в двойные кавычки, а вторую часть в одинарные кавычки:

watch "awk 'NR%2==0 '\' filename.txt 

4. Без кавычек, но полностью сбежал

Если мы не заключим команду в кавычки, нам нужно будет экранировать все необходимые символы, активные для оболочки. Это включает пробелы, кавычки, фигурные скобки и знаки доллара:

watch awk\ \'NR%2==0 \\' filename.txt 

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