Код: Выделить всё
echo -e $'\n'{a..z}Но понадобилось также генерировать спецсимволы.
Возможно ли как то их генерировать задавая их десятичные значения (ASCII таблица)?
Модераторы: /dev/random, Модераторы разделов
Код: Выделить всё
echo -e $'\n'{a..z}Код: Выделить всё
echo -e "\0133"
[Код: Выделить всё
cat chartable.c
#include <stdio.h>
#define UC unsigned char
int main(int argc, char* argv []){
UC code;
int ii,i;
printf("\n");
if(argc > 1){
if(isdigit(*argv[1])){
code=(UC)atoi(argv[1]);
printf("Code %3d is letter %c\n", code, code);
exit (0);}
else{
code=(UC)*argv[1];
printf("Char %c is %3d\n", code, code);}}
else{
for(i=0; i<32; i++){
for(ii=1; ii<8; ii++){
code=(UC)(i+ii*32);
printf("%3d - %c\t", code, code);}
printf("\n");}}
return 0;
}
chartable
32 - 64 - @ 96 - ` 128 - ─ 160 - ═ 192 - ю 224 - Ю
33 - ! 65 - A 97 - a 129 - │ 161 - ║ 193 - а 225 - А
34 - " 66 - B 98 - b 130 - ┌ 162 - ╒ 194 - б 226 - Б
35 - # 67 - C 99 - c 131 - ┐ 163 - ё 195 - ц 227 - Ц
36 - $ 68 - D 100 - d 132 - └ 164 - ╓ 196 - д 228 - Д
37 - % 69 - E 101 - e 133 - ┘ 165 - ╔ 197 - е 229 - Е
38 - & 70 - F 102 - f 134 - ├ 166 - ╕ 198 - ф 230 - Ф
39 - ' 71 - G 103 - g 135 - ┤ 167 - ╖ 199 - г 231 - Г
40 - ( 72 - H 104 - h 136 - ┬ 168 - ╗ 200 - х 232 - Х
41 - ) 73 - I 105 - i 137 - ┴ 169 - ╘ 201 - и 233 - И
42 - * 74 - J 106 - j 138 - ┼ 170 - ╙ 202 - й 234 - Й
43 - + 75 - K 107 - k 139 - ▀ 171 - ╚ 203 - к 235 - К
44 - , 76 - L 108 - l 140 - ▄ 172 - ╛ 204 - л 236 - Л
45 - - 77 - M 109 - m 141 - █ 173 - ╜ 205 - м 237 - М
46 - . 78 - N 110 - n 142 - ▌ 174 - ╝ 206 - н 238 - Н
47 - / 79 - O 111 - o 143 - ▐ 175 - ╞ 207 - о 239 - О
48 - 0 80 - P 112 - p 144 - ░ 176 - ╟ 208 - п 240 - П
49 - 1 81 - Q 113 - q 145 - ▒ 177 - ╠ 209 - я 241 - Я
50 - 2 82 - R 114 - r 146 - ▓ 178 - ╡ 210 - р 242 - Р
51 - 3 83 - S 115 - s 147 - ⌠ 179 - Ё 211 - с 243 - С
52 - 4 84 - T 116 - t 148 - ■ 180 - ╢ 212 - т 244 - Т
53 - 5 85 - U 117 - u 149 - ∙ 181 - ╣ 213 - у 245 - У
54 - 6 86 - V 118 - v 150 - √ 182 - ╤ 214 - ж 246 - Ж
55 - 7 87 - W 119 - w 151 - ≈ 183 - ╥ 215 - в 247 - В
56 - 8 88 - X 120 - x 152 - ≤ 184 - ╦ 216 - ь 248 - Ь
57 - 9 89 - Y 121 - y 153 - ≥ 185 - ╧ 217 - ы 249 - Ы
58 - : 90 - Z 122 - z 154 - 186 - ╨ 218 - з 250 - З
59 - ; 91 - [ 123 - { 155 - ⌡ 187 - ╩ 219 - ш 251 - Ш
60 - < 92 - \ 124 - | 156 - ° 188 - ╪ 220 - э 252 - Э
61 - = 93 - ] 125 - } 157 - ² 189 - ╫ 221 - щ 253 - Щ
62 - > 94 - ^ 126 - ~ 158 - · 190 - ╬ 222 - ч 254 - Ч
63 - ? 95 - _ 127 - 159 - ÷ 191 - © 223 - ъ 255 - ЪНебольшая поправка: это не десятичные, а восьмеричные коды.
А вообще, раздел называется "работа в командной строке", а не "программирование".
Код:
$ echo -e "\x2A"
*
$ echo -e "\xD0\x90"
А
$
$
echo | sed 's/.*/\d126/'
~
$
printf "%c\n" 126
1
потому что вот так надо:
Код: Выделить всё
echo -e "\0$(printf "%o" 126)"
~Код: Выделить всё
$ echo -e "\x$(printf "%x" 126)"
~А что тут такого?
Код: Выделить всё
for i in $(seq 1 377|grep -v [89]); do echo -e "$i - \0$i"; done ;Код: Выделить всё
function printCharByDecCode(){ echo -e "\0$(printf "%o" $1)"; }Код: Выделить всё
printCharByDecCode 240
ПКод: Выделить всё
chartable
32 [0x20] - 64 [0x40] - @ 96 [0x60] - ` 128 [0x80] - ─ 160 [0xa0] - ═ 192 [0xc0] - ю 224 [0xe0] - Ю
33 [0x21] - ! 65 [0x41] - A 97 [0x61] - a 129 [0x81] - │ 161 [0xa1] - ║ 193 [0xc1] - а 225 [0xe1] - А
34 [0x22] - " 66 [0x42] - B 98 [0x62] - b 130 [0x82] - ┌ 162 [0xa2] - ╒ 194 [0xc2] - б 226 [0xe2] - Б
35 [0x23] - # 67 [0x43] - C 99 [0x63] - c 131 [0x83] - ┐ 163 [0xa3] - ё 195 [0xc3] - ц 227 [0xe3] - Ц
36 [0x24] - $ 68 [0x44] - D 100 [0x64] - d 132 [0x84] - └ 164 [0xa4] - ╓ 196 [0xc4] - д 228 [0xe4] - Д
37 [0x25] - % 69 [0x45] - E 101 [0x65] - e 133 [0x85] - ┘ 165 [0xa5] - ╔ 197 [0xc5] - е 229 [0xe5] - Е
38 [0x26] - & 70 [0x46] - F 102 [0x66] - f 134 [0x86] - ├ 166 [0xa6] - ╕ 198 [0xc6] - ф 230 [0xe6] - Ф
39 [0x27] - ' 71 [0x47] - G 103 [0x67] - g 135 [0x87] - ┤ 167 [0xa7] - ╖ 199 [0xc7] - г 231 [0xe7] - Г
40 [0x28] - ( 72 [0x48] - H 104 [0x68] - h 136 [0x88] - ┬ 168 [0xa8] - ╗ 200 [0xc8] - х 232 [0xe8] - Х
41 [0x29] - ) 73 [0x49] - I 105 [0x69] - i 137 [0x89] - ┴ 169 [0xa9] - ╘ 201 [0xc9] - и 233 [0xe9] - И
42 [0x2a] - * 74 [0x4a] - J 106 [0x6a] - j 138 [0x8a] - ┼ 170 [0xaa] - ╙ 202 [0xca] - й 234 [0xea] - Й
43 [0x2b] - + 75 [0x4b] - K 107 [0x6b] - k 139 [0x8b] - ▀ 171 [0xab] - ╚ 203 [0xcb] - к 235 [0xeb] - К
44 [0x2c] - , 76 [0x4c] - L 108 [0x6c] - l 140 [0x8c] - ▄ 172 [0xac] - ╛ 204 [0xcc] - л 236 [0xec] - Л
45 [0x2d] - - 77 [0x4d] - M 109 [0x6d] - m 141 [0x8d] - █ 173 [0xad] - ╜ 205 [0xcd] - м 237 [0xed] - М
46 [0x2e] - . 78 [0x4e] - N 110 [0x6e] - n 142 [0x8e] - ▌ 174 [0xae] - ╝ 206 [0xce] - н 238 [0xee] - Н
47 [0x2f] - / 79 [0x4f] - O 111 [0x6f] - o 143 [0x8f] - ▐ 175 [0xaf] - ╞ 207 [0xcf] - о 239 [0xef] - О
48 [0x30] - 0 80 [0x50] - P 112 [0x70] - p 144 [0x90] - ░ 176 [0xb0] - ╟ 208 [0xd0] - п 240 [0xf0] - П
49 [0x31] - 1 81 [0x51] - Q 113 [0x71] - q 145 [0x91] - ▒ 177 [0xb1] - ╠ 209 [0xd1] - я 241 [0xf1] - Я
50 [0x32] - 2 82 [0x52] - R 114 [0x72] - r 146 [0x92] - ▓ 178 [0xb2] - ╡ 210 [0xd2] - р 242 [0xf2] - Р
51 [0x33] - 3 83 [0x53] - S 115 [0x73] - s 147 [0x93] - ⌠ 179 [0xb3] - Ё 211 [0xd3] - с 243 [0xf3] - С
52 [0x34] - 4 84 [0x54] - T 116 [0x74] - t 148 [0x94] - ■ 180 [0xb4] - ╢ 212 [0xd4] - т 244 [0xf4] - Т
53 [0x35] - 5 85 [0x55] - U 117 [0x75] - u 149 [0x95] - ∙ 181 [0xb5] - ╣ 213 [0xd5] - у 245 [0xf5] - У
54 [0x36] - 6 86 [0x56] - V 118 [0x76] - v 150 [0x96] - √ 182 [0xb6] - ╤ 214 [0xd6] - ж 246 [0xf6] - Ж
55 [0x37] - 7 87 [0x57] - W 119 [0x77] - w 151 [0x97] - ≈ 183 [0xb7] - ╥ 215 [0xd7] - в 247 [0xf7] - В
56 [0x38] - 8 88 [0x58] - X 120 [0x78] - x 152 [0x98] - ≤ 184 [0xb8] - ╦ 216 [0xd8] - ь 248 [0xf8] - Ь
57 [0x39] - 9 89 [0x59] - Y 121 [0x79] - y 153 [0x99] - ≥ 185 [0xb9] - ╧ 217 [0xd9] - ы 249 [0xf9] - Ы
58 [0x3a] - : 90 [0x5a] - Z 122 [0x7a] - z 154 [0x9a] - 186 [0xba] - ╨ 218 [0xda] - з 250 [0xfa] - З
59 [0x3b] - ; 91 [0x5b] - [ 123 [0x7b] - { 155 [0x9b] - ⌡ 187 [0xbb] - ╩ 219 [0xdb] - ш 251 [0xfb] - Ш
60 [0x3c] - < 92 [0x5c] - \ 124 [0x7c] - | 156 [0x9c] - ° 188 [0xbc] - ╪ 220 [0xdc] - э 252 [0xfc] - Э
61 [0x3d] - = 93 [0x5d] - ] 125 [0x7d] - } 157 [0x9d] - ² 189 [0xbd] - ╫ 221 [0xdd] - щ 253 [0xfd] - Щ
62 [0x3e] - > 94 [0x5e] - ^ 126 [0x7e] - ~ 158 [0x9e] - · 190 [0xbe] - ╬ 222 [0xde] - ч 254 [0xfe] - Ч
63 [0x3f] - ? 95 [0x5f] - _ 127 [0x7f] - 159 [0x9f] - ÷ 191 [0xbf] - © 223 [0xdf] - ъ 255 [0xff] - Ъ$
$ function pdc() { echo | sed "s/.*/\d$1/"; }
$ pdc 126
~
Какой провокационный вопрос. А зачем тут нужен sed, если можно напрямую напечатать через echo?
Код: Выделить всё
$ printf \\$(printf %o 65)
AКод: Выделить всё
$ printf %d \'A
65