Составьте таблицу ASCII-творчества от табличных данных

Вы могли использовать PAM (UsePAM в sshd_config) и добавить

account  required     pam_access.so

к конфигурации PAM для ssh.

Затем можно определить политики доступа в /etc/security/access.conf

+ : john : 127.0.0.1 ::1
- : john : ALL
+ : ALL : ALL

(непротестированный)

6
10.02.2014, 01:14
3 ответа

Принимая файл CSV, можно использовать column(1) как так:

column -ts, your_file

Это включено в bsdmainutils пакет на моем распределении Debian, таким образом, я не уверен, насколько портативный это.

Еще две вещи отметить:

  1. Вышеупомянутый пример упрощен; исследуйте страницу справочника для получения дополнительной информации о том, как отформатировать Ваш вывод.
  2. Это не достигает хорошего результата с заключенными в кавычки полями, содержащими запятые. Т.е. это рассмотрело бы a,b,"c,d" как четыре столбца не три.
10
27.01.2020, 20:21

Этот будет columnate входной файл, добавляя a | символ для окружения каждого столбца.

 sed -e 's/^/| /' -e 's/,/,| /g' -e 's/$/,|/' inputfile | column -t -s,

Образец выполняется (использование легко доступного разграниченного двоеточием файла):

$ head -4 /etc/passwd | tr : , | \
  sed -e 's/^/| /' -e 's/,/,| /g' -e 's/$/,|/' | column -t -s,

| root    | x  | 0  | 0  | root    | /root      | /bin/bash  |
| daemon  | x  | 1  | 1  | daemon  | /usr/sbin  | /bin/sh    |
| bin     | x  | 2  | 2  | bin     | /bin       | /bin/sh    |
| sys     | x  | 3  | 3  | sys     | /dev       | /bin/sh    |
4
27.01.2020, 20:21

Если табличные данные каким-то образом читаются в python (в этом примере чтение csv-файла с помощью модуля Pandas), модуль "tabulate" весьма полезен и прост .

import pandas
from tabulate import tabulate

data = pandas.read_csv('/tmp/foo.csv', index_col=0)
print(tabulate(data, headers=data.columns, tablefmt="grid"))

Что дает хороший результат:

+-----+------+------+
|     |    A |    B |
+=====+======+======+
| foo | 1    |  0.2 |
+-----+------+------+
| bar | 3.14 | 10.9 |
+-----+------+------+

Вы можете создавать разные стили

print(tabulate(data, headers=data.columns, tablefmt="fancy_grid"))

╒═════╤══════╤══════╕
│     │    A │    B │
╞═════╪══════╪══════╡
│ foo │ 1    │  0.2 │
├─────┼──────┼──────┤
│ bar │ 3.14 │ 10.9 │
╘═════╧══════╧══════╛
5
27.01.2020, 20:21

Теги

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