Использование nl
:
nl -s, -w1 file
Это добавит число постепенного увеличения к началу каждой строки. с,
указывает, что число и остальная часть строки должны быть разделены запятой. -w1
указывает количество символов, которые будут использоваться для номера строки.
Редактирование : Как Stéphane Chazelas указанный в комментарий , флаг-w1
сокращает числа больше чем с 1 цифрой. Это может быть ошибкой в реализации Solaris nl
utillity. Кроме того, можно хотеть пронумеровать специальное содержание строки (-d $ '\n\n'
) и emtpy строки (-ba):
NL='
'
nl -s, -ba -d "$NL$NL" file
вывод (с GNU coreutils 8.12.197
):
$ nl -s, -ba -d "$NL$NL" file
1,4,2,64,1088,80,1,Y,Y
2,5,2,64,1088,95,2,Y,Y
3,8,2,1088,39813120,10,12,Y,Y
4,6,2,1088,39813120,0,2,Y,Y
5,7,2,1088,39813120,5,1,Y,Y
6,8,2,1088,39813120,10,2,Y,Y
В вашем сценарии это было бы затем похоже:
NL='
'
for fname in conv2016_02_cos_speed2percent_data_migration.csv; do
nl -s, -ba -d "$NL$NL" "$fname" > tmp.tmp && mv tmp.tmp "$fname"
done
Вам необходимо установить пакет samba-libs
.
apt-get install samba-libs
Это предоставляет ту и другие библиотеки для самбы. Похоже, у вас уже есть другие необходимые пакеты для samba
, иначе вы получите ошибку command not found
при использовании smbpasswd
.