Это было бы заданием для awk, но замена во втором столбце потребовала бы gensub и, следовательно, gawk, который по умолчанию не установлен, поэтому я получил решение sed :
sed -i.bak 's/[^\t]*\t\([^-]*\)-[0-9][0-9]-[0-9]\([0-9]\)[^\t]*\t\([^\t]*\)/\1\t\2\t\3/' infile
Или, сокращенно с использованием ERE (спасибо пользователю1598390):
sed -E -i.bak 's/.*([0-9]{4})-[0-9]{2}-([0-9]{2})(.*)/\1\t\2\3/' infile
-i.bak: обрабатывает файл на месте, резервное копирование исходного файла на infile.bak sed:
-i.bak: обрабатывает файл на месте, резервное копирование исходного файла на infile.bak / : запускает шаблон [^\t]*: соответствует любому числу символов, а не \t; \t: соответствует символу \t \(: запускает первую группу захвата [^-]*: соответствует любому числу любого символа, а не -; \): останавливает первую группу захвата -: соответствует символу - [0-9]: соответствует любой цифре [0-9]: соответствует любой цифре -: соответствует символу - [0-9]: соответствует любой цифре \(: запускает вторую группу захвата [0-9]: соответствует любой цифре \): останавливает вторую группу захвата [^\t]*: соответствует любому числу любого символа, а не \t; \t: соответствует символу \t \(: запускает третью группу захвата [^\t]*: соответствует любому номеру любого символа, а не \t; \): останавливает третью группу захвата /: останавливает шаблон / запускает заменяющую строку \1: обратная ссылка заменена первой группой захвата \2: обратная ссылка заменена второй группой захвата \3: обратная ссылка заменена на третья группа захвата /: останавливает заменяющую строку / запускает модификаторыВыход для файла образца:
user@debian ~/tmp % cat infile
a 1972-01-01 17.0265761797993
b 1972-01-02 17.200476457399
c 1972-01-03 17.2926436045271
d 1972-01-04 17.3900277599829
e 1972-01-05 17.5987080931028
f 1972-01-06 17.6334881486229
g 1972-01-07 17.7030482596626
user@debian ~/tmp % sed 's/[^\t]*\t\([^-]*\)-[0-9][0-9]-[0-9]\([0-9]\)[^\t]*\t\([^\t]*\)/\1\t\2\t\3/' infile
1972 1 17.0265761797993
1972 2 17.200476457399
1972 3 17.2926436045271
1972 4 17.3900277599829
1972 5 17.5987080931028
1972 6 17.6334881486229
1972 7 17.7030482596626
Ubuntu One не предоставляет службу FTP. Если вам нужны все файлы, лучший способ сделать это - просто использовать обычный ubuntu один клиент и настроить свою учетную запись.
Просто взгляните на это, но если вам нужно использовать локальную резервную копию unison.
Лучший способ получить все ваши файлы - просто установить клиент Ubuntu One как обычно.
Однако, если вы не можете это сделать по какой-либо причине, вы можете использовать u1ftp в качестве остановки , Загрузите с Launchpad; u1ftp объясняется Джеймсом Хенстриджем здесь, и здесь есть демонстрации и описания демонстраций. Он работает практически на всех настольных платформах (Ubuntu, Mac, Windows, Fedora, Suse и т. Д.), И делает Ubuntu One доступным через FTP на компьютере, на котором вы находитесь, поэтому вы можете напрямую получить доступ к U1 в качестве сетевого диска в Nautilus или Windows Explorer или Coda, либо путем установки его в качестве диска, и он надежно подключается к Ubuntu One через API файлов U1 и SSL.
Ubuntu One не предоставляет службу FTP. Если вам нужны все файлы, лучший способ сделать это - просто использовать обычный ubuntu один клиент и настроить свою учетную запись.
Просто взгляните на это, но если вам нужно использовать локальную резервную копию unison.
Лучший способ получить все ваши файлы - просто установить клиент Ubuntu One как обычно.
Однако, если вы не можете это сделать по какой-либо причине, вы можете использовать u1ftp в качестве остановки , Загрузите с Launchpad; u1ftp объясняется Джеймсом Хенстриджем здесь, и здесь есть демонстрации и описания демонстраций. Он работает практически на всех настольных платформах (Ubuntu, Mac, Windows, Fedora, Suse и т. Д.), И делает Ubuntu One доступным через FTP на компьютере, на котором вы находитесь, поэтому вы можете напрямую получить доступ к U1 в качестве сетевого диска в Nautilus или Windows Explorer или Coda, либо путем установки его в качестве диска, и он надежно подключается к Ubuntu One через API файлов U1 и SSL.
Ubuntu One не предоставляет службу FTP. Если вам нужны все файлы, лучший способ сделать это - просто использовать обычный ubuntu один клиент и настроить свою учетную запись.
Просто взгляните на это, но если вам нужно использовать локальную резервную копию unison.
Лучший способ получить все ваши файлы - просто установить клиент Ubuntu One как обычно.
Однако, если вы не можете это сделать по какой-либо причине, вы можете использовать u1ftp в качестве остановки , Загрузите с Launchpad; u1ftp объясняется Джеймсом Хенстриджем здесь, и здесь есть демонстрации и описания демонстраций. Он работает практически на всех настольных платформах (Ubuntu, Mac, Windows, Fedora, Suse и т. Д.), И делает Ubuntu One доступным через FTP на компьютере, на котором вы находитесь, поэтому вы можете напрямую получить доступ к U1 в качестве сетевого диска в Nautilus или Windows Explorer или Coda, либо путем установки его в качестве диска, и он надежно подключается к Ubuntu One через API файлов U1 и SSL.
Просто посмотрите на этот , однако если вам нужна локальная резервная копия, используйте unison.
Лучший способ получить все ваши файлы - просто установить клиент Ubuntu One как обычно.
Однако, если вы не можете это сделать по какой-либо причине, вы можете использовать u1ftp в качестве остановки , Загрузить с Launchpad ; u1ftp объясняется Джеймсом Хенстриджем здесь и здесь есть демонстрационные скринкасты и описания здесь . Он работает практически на всех настольных платформах (Ubuntu, Mac, Windows, Fedora, Suse и т. Д.), И делает Ubuntu One доступным через FTP на компьютере, на котором вы находитесь, поэтому вы можете напрямую получить доступ к U1 в качестве сетевого диска в Nautilus или Windows Explorer или Coda, либо путем установки его в качестве диска, и он надежно подключается к Ubuntu One через API-интерфейс U1-файлов и SSL.
Ubuntu One не предоставляет службу FTP. Если вам нужны все файлы, лучший способ сделать это - просто использовать обычный ubuntu один клиент и настроить свою учетную запись.
Ubuntu One не предоставляет службу FTP. Если вам нужны все файлы, лучший способ сделать это - просто использовать обычный ubuntu один клиент и настроить свою учетную запись.
Просто посмотрите на этот , однако если вам нужна локальная резервная копия, используйте unison.
Лучший способ получить все ваши файлы - просто установить клиент Ubuntu One как обычно.
Однако, если вы не можете это сделать по какой-либо причине, вы можете использовать u1ftp в качестве остановки , Загрузить с Launchpad ; u1ftp объясняется Джеймсом Хенстриджем здесь и здесь есть демонстрационные скринкасты и описания здесь . Он работает практически на всех настольных платформах (Ubuntu, Mac, Windows, Fedora, Suse и т. Д.), И делает Ubuntu One доступным через FTP на компьютере, на котором вы находитесь, поэтому вы можете напрямую получить доступ к U1 в качестве сетевого диска в Nautilus или Windows Explorer или Coda, либо путем установки его в качестве диска, и он надежно подключается к Ubuntu One через API-интерфейс U1-файлов и SSL.
Ubuntu One не предоставляет службу FTP. Если вам нужны все файлы, лучший способ сделать это - просто использовать обычный ubuntu один клиент и настроить свою учетную запись.
Просто посмотрите на этот , однако если вам нужна локальная резервная копия, используйте unison.
Лучший способ получить все ваши файлы - просто установить клиент Ubuntu One как обычно.
Однако, если вы не можете это сделать по какой-либо причине, вы можете использовать u1ftp в качестве остановки , Загрузить с Launchpad ; u1ftp объясняется Джеймсом Хенстриджем здесь и здесь есть демонстрационные скринкасты и описания здесь . Он работает практически на всех настольных платформах (Ubuntu, Mac, Windows, Fedora, Suse и т. Д.), И делает Ubuntu One доступным через FTP на компьютере, на котором вы находитесь, поэтому вы можете напрямую получить доступ к U1 в качестве сетевого диска в Nautilus или Windows Explorer или Coda, либо путем установки его в качестве диска, и он надежно подключается к Ubuntu One через API-интерфейс U1-файлов и SSL.
Ubuntu One не предоставляет службу FTP. Если вам нужны все файлы, лучший способ сделать это - просто использовать обычный ubuntu один клиент и настроить свою учетную запись.
Просто посмотрите на этот , однако если вам нужна локальная резервная копия, используйте unison.
Лучший способ получить все ваши файлы - просто установить клиент Ubuntu One как обычно.
Однако, если вы не можете это сделать по какой-либо причине, вы можете использовать u1ftp в качестве остановки , Загрузить с Launchpad ; u1ftp объясняется Джеймсом Хенстриджем здесь и здесь есть демонстрационные скринкасты и описания здесь . Он работает практически на всех настольных платформах (Ubuntu, Mac, Windows, Fedora, Suse и т. Д.), И делает Ubuntu One доступным через FTP на компьютере, на котором вы находитесь, поэтому вы можете напрямую получить доступ к U1 в качестве сетевого диска в Nautilus или Windows Explorer или Coda, либо путем установки его в качестве диска, и он надежно подключается к Ubuntu One через API-интерфейс U1-файлов и SSL.
Просто посмотрите на этот , однако если вам нужна локальная резервная копия, используйте unison.
Лучший способ получить все ваши файлы - просто установить клиент Ubuntu One как обычно.
Однако, если вы не можете это сделать по какой-либо причине, вы можете использовать u1ftp в качестве остановки , Загрузить с Launchpad ; u1ftp объясняется Джеймсом Хенстриджем здесь и здесь есть демонстрационные скринкасты и описания здесь . Он работает практически на всех настольных платформах (Ubuntu, Mac, Windows, Fedora, Suse и т. Д.), И делает Ubuntu One доступным через FTP на компьютере, на котором вы находитесь, поэтому вы можете напрямую получить доступ к U1 в качестве сетевого диска в Nautilus или Windows Explorer или Coda, либо путем установки его в качестве диска, и он надежно подключается к Ubuntu One через API-интерфейс U1-файлов и SSL.
Ubuntu One не предоставляет службу FTP. Если вам нужны все файлы, лучший способ сделать это - просто использовать обычный ubuntu один клиент и настроить свою учетную запись.