Вы хотите использовать fullblock
. notrunc
не влияет на файлы устройств.
dd of=/dev/mmcblk0 iflag=fullblock status=progress bs=4M
Та же идея, что и в ответе αғsнιη , но выполнено несколько иначе:
awk '
{ $0 = substr($0, 0, length - 4) }
$0 != prev { n = 0 }
{ printf "%s_%.3d\n", $0, ++n; prev = $0 }' file
Первый блок удаляет существующее трехзначное -число в конце строки, а также предыдущее подчеркивание, что дает своего рода префиксную строку.
Средний блок сбрасывает счетчик n
на ноль, если предыдущая строка не совпадает с текущей строкой (новая строка префикса ).
Последний блок увеличивает счетчик и выводит его как заполненное нулем -трехзначное целое число в конце строки префикса с символом подчеркивания в -между ними. Наконец, текущая строка запоминается как prev
.
for i in `awk -F "_" '{print $1"_"$2}' filename| awk '{if(!seen[$1]++)print $1}'`
do
co=`grep -c "$i" filename`
if [[ $co -le 10 ]]; then
grep "$i" filename | awk -F "_" '{print $1"_"$2"_00"NR}';
else
grep "$i" filename | awk -F "_" '{if(NR<10){print $1"_"$2"_00"NR}else{print $1"_"$2"_0"NR}}'
fi
done
выход
BIRC2_region_001
BIRC2_region_002
BIRC2_region_003
BMI1_region_001
BMI1_region_002
CRBN_region_001
CRBN_region_002
CRBN_region_003
CDC20_region_001
CDC20_region_002
CDC20_region_003
CBL_region_001
CBL_region_002
CBL_region_003
CBL_region_004
CBL_region_005
CBL_region_006
CBL_region_007
CBL_region_008
CBL_region_009
CBL_region_010
CBL_region_011
CBL_region_012
CBL_region_013
CBL_region_014
CBL_region_015
CBL_region_016
CBL_region_017
CBL_region_018
CBL_region_019
CBL_region_020