Здесь является моим:
menuentry "FreeBSD" --class freebsd --class bsd --class os {
insmod ufs2
insmod bsd
set root=(hd0,1)
kfreebsd /boot/kernel/kernel
kfreebsd_loadenv /boot/device.hints
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s1a
set kFreeBSD.vfs.root.mountfrom.options=rw
set kFreeBSD.hw.psm.synaptics_support=1
}
Если вы используете современную оболочку вроде bash или zsh, используйте $
, чтобы оболочка оценивала \t
и заменяла ее на актуальную tab:
nl -ba -s $'\t' full_media > full_media2
Даже если вы посмотрите на результат, он выглядит так, как будто сепаратор по умолчанию - это tab:
$ nl -ba -s $'\t' ~/at.sh | od -c
0000000 1 \t n o h u p s g
$ nl -ba ~/at.sh | od -c
0000000 1 \t n o h u p s g
Действительно, сепаратор по умолчанию - это tab, как указано в POSIX. Из man nl
:
-s sep
Specify the characters used in separating the line number and
the corresponding text line. The default sep shall be a <tab>.
Чтобы добавить колонку в CSV, попробуйте использовать Python:
#! /usr/bin/env python2
from sys import stdin, stdout
import csv
csvin = csv.reader(stdin, delimiter='\t')
csvout= csv.writer(stdout, delimiter='\t')
count = 1
for row in csvin:
csvout.writerow ([count] + row)
count = count + 1
Сохраните его как скрипт (скажем nl.py
) и запустите:
python2 nl.py < full_media > full_media2