Архив

Статии по ключова дума: ‘рационално’

Редактиране на MySQL тип чрез alter table

19 януари, 2010 Няма коментари

Видях, че има хора които се затрудняват когато им се наложи да променят тип на колона в MySQL. Примерно един приятел направил таблица и колоната X е от тип varchar(500), но след време установява, че тази колона иска да бъде от тип "text", а не varchar. Той дъмпнал цялата таблица и ръчно заместил varchar(500) със "text" и всичко било наред, но това рационално ли е ? НЕ

Решението е:
Могат да се ползват два вида метода:

1. Alter table change
При първия метод се изисква да се въведе старо име на колона и ново:

ALTER TABLE t1 CHANGE a b INTEGER;

или

ALTER TABLE t1 CHANGE b b INTEGER;

2. Alter table modify (Аз лично бих използвал този метод):

ALTER TABLE t1 MODIFY b BIGINT NOT NULL;

За повече информация тук: Mysql Reference Manual

Рекурсивно преименуване на файлове в GNU/Linux

28 декември, 2009 Няма коментари

Наложи ми се да конвертирам всички *.SH файлове в *.sh но тези файлове са в куп директории и под директории. Веднага ми доиде на ум как да го направя с find , но реших да гугълна да видя дали има по- рационално решение. Е не видях такова. Видях решения от рода на цикли с bash, perl и какво ли не, но решение с "one line" не видях.

Ето го моето решение:

find $PWD -name "*.SH" -exec rename 'y/.SH/.sh/' "{}" \;

Как да копираме това което ни е необходимо:) (cp GNU/Linux)

23 декември, 2009 Няма коментари

Във връзка с една предишна публикация за  "Как да намеря това което търся и това което НЕ търся (Find в GNU/Linux)" ми се наложи подобно нещо, но да копирам конкретни папки от една папка с много папки  такива(повечето са тези които ми трябват).

Ще разгледам конкретен случай в които имаме следните директории:

0папка1
0папка2
3папка3
4папка4
5папка5
6папка6
7папка7
8папка8

Аз искам да копирам всички папки с изключение на тези които започват с "0"(нула). Задачката-играчката има няколко решения:

1. Преместваме всичките 0*папка* на друго място и копираме всички останали папки * като след това връщаме папките с 0папка*.- Не рационално.

2. Копираме желаните папки като аргументи. Пример: cp 3папка3 4папка4 5папка5 … и т.н. -- Не рационално.

Ето го моето решение:

cp -Rvp [!0*]* destination_dir

Това ще копира всички папки с изключение на тези които започват с "0" (нула).- Рационален