Это должно работать:
sh <(sed -r 's/^\s*(.*)\s+([0-9\.]+)\s+([0-9A-Z]{8}\.dat)\s*$/mv -iv \3 "\2 \1"/' files)
... где files
название Вашего исходного файла.
То, что это делает, передать результат sed
управляйте к новому экземпляру sh
(оболочка), с помощью замены процесса. Вывод sed
команда:
mv -iv 000011F4.dat "0.1 New File Name.xlsx"
mv -iv 000011F5.dat "0.2 New File Name.xlsx"
mv -iv 000011F6.dat "0.3 New File Name.xlsx"
mv -iv 000011F7.dat "0.4 New File Name.xlsx"
mv -iv 000011F8.dat "0.5 New File Name.xlsx"
mv -iv 000011F9.dat "0.6 New File Name.xlsx"
Взятие sed
управляйте независимо, это ищет шаблон:
^
- начало строки\s*
- любой пробел в запуске(.*)
- любые символы (круглые скобки хранят результат к \1
)\s+
- по крайней мере один пробельный символ([0-9\.]+)
- по крайней мере один из 0-9
и .
(сохраненный к \2
)\s+
- по крайней мере один пробельный символ([0-9A-Z]{8}\.dat)
- 8 символов в 0-9
или A-Z
, сопровождаемый .dat
(сохраненный к \3
)\s*
- любой пробел в конце$
- конец строки... и замены это с mv -iv \3 "\2 \1"
, где \1
кому: \3
ранее сохраненные значения. Можно использовать что-то другое, чем пространство между номером версии и остальной частью имени файла, если Вам нравится.
Вот результат:
$ ls -l
total 60
-rw-rw-r-- 1 z z 0 Aug 8 14:15 000011F4.dat
-rw-rw-r-- 1 z z 0 Aug 8 14:15 000011F5.dat
-rw-rw-r-- 1 z z 0 Aug 8 14:15 000011F6.dat
-rw-rw-r-- 1 z z 0 Aug 8 14:15 000011F7.dat
-rw-rw-r-- 1 z z 0 Aug 8 14:15 000011F8.dat
-rw-rw-r-- 1 z z 0 Aug 8 14:15 000011F9.dat
-rw-rw-r-- 1 z z 222 Aug 8 13:47 files
$ sh <(sed -r 's/^\s*(.*)\s+([0-9\.]+)\s+([0-9A-Z]{8}\.dat)\s*$/mv -iv \3 "\2 \1"/' files)
`000011F4.dat' -> `0.1 New File Name.xlsx'
`000011F5.dat' -> `0.2 New File Name.xlsx'
`000011F6.dat' -> `0.3 New File Name.xlsx'
`000011F7.dat' -> `0.4 New File Name.xlsx'
`000011F8.dat' -> `0.5 New File Name.xlsx'
`000011F9.dat' -> `0.6 New File Name.xlsx'
$ ls -l
total 60
-rw-rw-r-- 1 z z 0 Aug 8 14:15 0.1 New File Name.xlsx
-rw-rw-r-- 1 z z 0 Aug 8 14:15 0.2 New File Name.xlsx
-rw-rw-r-- 1 z z 0 Aug 8 14:15 0.3 New File Name.xlsx
-rw-rw-r-- 1 z z 0 Aug 8 14:15 0.4 New File Name.xlsx
-rw-rw-r-- 1 z z 0 Aug 8 14:15 0.5 New File Name.xlsx
-rw-rw-r-- 1 z z 0 Aug 8 14:15 0.6 New File Name.xlsx
-rw-rw-r-- 1 z z 222 Aug 8 13:47 files
Это ошибка минимальной установки Centos/RHEL 6.x. Сеть не активируется во время установки, так как по каким-то причинам они ожидают, что все установки будут использовать Сетевой менеджер. Изменить линию ОНБОТ="нет" на ОНБОТ="да" в файле /etc/sysconfig/network-scripts/ifcfg-eth0 (или любой другой ваш номер соединения eth).
Btw, используя ifconfig, вместо этого используйте 'ip a' и/или 'ip r'.
.пробежал через это при настройке CentOS 6,5 с той же проблемой. Моя система работала со статическим IP-адресом, а затем Boom !!! не работает. Единственное отличие состояло в том, что я установил XFCE GUI (спецификации не очень велики), а затем пакет шрифтов X11 ...
Как-то, когда я проверил IFCONFIG, статическая информация была там, но именно инвестированная информация в / etc / resolver .Conf исчезло ....? Я не могу представить, как установка GUI сделает это, но это было единственное значение.
Как я нашел это ...? Я мог пинг 8.8.8.8 etc, но не доменное имя, такое как Google.com. Итак, я попробовал Curl http://www.google.com и записи по умолчанию в Resolv.conf придумали, что не было никаких присутствующих пользователей
, как только я ставлю их, все было хорошо.