Сортировка только одного столбца файла - PullRequest
2 голосов
/ 23 ноября 2011

У меня есть такой файл

/device/000:004:00.7/vmkname = "vmnic8"

/device/000:005:00.0/vmkname = "vmnic0"

/device/000:005:00.1/vmkname = "vmnic4"

/device/000:005:00.2/vmkname = "vmnic10"

/device/000:005:00.3/vmkname = "vmnic11"

.... 15 строк

Я хочу изменить это так:

/device/000:004:00.7/vmkname = "vmnic0"

/device/000:005:00.0/vmkname = "vmnic1"

/device/000:005:00.1/vmkname = "vmnic2"

/device/000:005:00.2/vmkname = "vmnic3"

... до

/device/000:005:00.3/vmkname = "vmnic15"

Ответы [ 4 ]

3 голосов
/ 23 ноября 2011
perl -pe 's/\d+(")$/$i++.$1/e;' file

Посмотреть

2 голосов
/ 23 ноября 2011

Awk версия:

awk '{if ($1) {print $1, $2, "\"vmnic"c++"\""}else{print}}' FILE

вы можете перенаправить вывод в новый файл.

1 голос
/ 23 ноября 2011

Это должно сделать:

count=0
for i in `cat input_file.txt | cut -d " " -f1`
do
    echo $i = \"vmnic$count\" >> output_file.txt
    count=`expr $count + 1`
done

Просто убедитесь, что в вашем input_file.txt нет пустых строк.

0 голосов
/ 23 ноября 2011

См .:

#!/bin/bash

c=0
while read a b; do
    [[ "$a" ]] || continue
    echo "$a = \"vmnic$((c++))\""
done < FILE > NEW_FILE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...