Я новичок в unix и только что начал с оболочки и ее команд. Я должен выполнить несколько задач для задания. И мой вопрос: как напечатать -e с эхом. Я знаю, что существует опция $ printf '% s \ n' -e, но мне нужно использовать echo. Спасибо.Как распечатать -e с echo
ответ
Как об этом:
echo -e "\055e"
Если вы не уверены в кодах ASCII (например, \055
выше), вы можете легко проверить их с
man ascii
ИМЯ ASCii - - восьмеричные, шестнадцатеричные и десятичные ASCII-кодировки
ОПИСАНИЕ Восьмеричное набор:
000 nul 001 soh 002 stx 003 etx 004 eot 005 enq 006 ack 007 bel 010 bs 011 ht 012 nl 013 vt 014 np 015 cr 016 so 017 si 020 dle 021 dc1 022 dc2 023 dc3 024 dc4 025 nak 026 syn 027 etb 030 can 031 em 032 sub 033 esc 034 fs 035 gs 036 rs 037 us 040 sp 041 ! 042 " 043 # 044 $ 045 % 046 & 047 ' 050 ( 051 ) 052 * 053 + 054 , 055 - 056 . 057/ 060 0 061 1 062 2 063 3 064 4 065 5 066 6 067 7 070 8 071 9 072 : 073 ; 074 < 075 = 076 > 077 ? 100 @ 101 A 102 B 103 C 104 D 105 E 106 F 107 G 110 H 111 I 112 J 113 K 114 L 115 M 116 N 117 O 120 P 121 Q 122 R 123 S 124 T 125 U 126 V 127 W 130 X 131 Y 132 Z 133 [ 134 \ 135 ] 136^ 137 _ 140 ` 141 a 142 b 143 c 144 d 145 e 146 f 147 g 150 h 151 i 152 j 153 k 154 l 155 m 156 n 157 o 160 p 161 q 162 r 163 s 164 t 165 u 166 v 167 w 170 x 171 y 172 z 173 { 174 | 175 } 176 ~ 177 del
Когда я ответил Маркусу, что не знаю кодов ASCII, я имел в виду, что я не знал его наизусть. Когда будильник срабатывает раньше, я заикаюсь 's/sound/silence/g', а не' cut -d "\ 007" -f7-'. Upvote. –
Вам нужны некоторые работы вокруг. Как насчет:
echo "x-u" | cut -c2-
или
echo "I want to learn sed x-e" | sed 's/.*x//'
Я действительно думаю, что это не лучше, чем использование 'printf'; в принципе, вы можете просто что-либо передать в 'printf', например. 'echo" "| printf '% s' -e'; поэтому, если ему не разрешено использовать 'printf', он, конечно, не может использовать' sed', 'cut' и т. д. –
@Marcus: Я просто не знаю. Ответ Mark кажется лучшим, но я не знал коды ASCII. Для домашней работы вам может быть интересно узнать о том, как вы можете решать проблемы, такие как нереалистичное ограничение запрещенного использования printf. –
хорошо пункт, действительно. Я бы взял из этого: иногда школа (и, как правило, немного реже, работа) дает вам произвольные ограничения. Нахождение вашего пути через это - настоящая проблема, и, следовательно, ваш ответ очень ценен. –
это некоторое домашнее задание, или почему вы должны использовать эхо? Как программист, вы пытаетесь использовать правильный инструмент, если это возможно, и в этом случае это, вероятно, будет 'printf'. –
Что следует делать с помощью '-e', так как единственный параметр -' -n'? Кроме того, 'echo' имеет некоторые ограничения. Дополнительную информацию см. В [docs] ru (http://www.freebsd.org/cgi/man.cgi?echo). – albert
@albert Он использует эхо bash, которое использует '-e', чтобы означать« разрешить обратную косую черту ». Страница man для/bin/echo, которая отличается. Проверьте всю информацию о странице bash. –