awk решение:
awk '$1~/.+,.+/{ split($1,a,","); $1=""; sub(/^ */,"",$0);
for(i=1;i<=length(a);i++) print a[i],$0; next }1' file
Вывод:
Class1 info1 info2 info3 info4
Class2 info1 info2 info3 info4
Class3 info1a info2a info3a info4a
Class4 info1b info2b1,info2b2 info3b info4b
Class5 info1b info2b1,info2b2 info3b info4b
$1~/.+,.+/
- строка обработки, если 1-й столбец содержит элементы, разделенные запятыми split($1,a,",")
- разделить 1-й столбец на массив элементов Причин может быть несколько, и это также зависит от того, как вы его установили.
Сначала база данных locate
создается по расписанию через cron
. Если вы создадите файл, обновите базу данных через updatedb
, удалите только что созданный файл, а затем попробуете locate
его, он все еще будет в базе данных. Повторно создайте базу данных с помощью еще одного запуска updatedb
, и файл не будет отображаться в locate
.
Во-вторых, если вы установили его через apt
, apt-get
и т. д., то apt purge pscxr
или apt-get purge pscxr
должны сделать это, НО это удалит только файлы, созданные в процессе установки. Если вы редактируете файл, и ваш редактор автоматически создает файл резервной копии, эти файлы резервной копии все еще будут там, как и путь к каталогу для файлов. Обратите внимание, что если вам нужны другие пакеты для зависимостей, вам также нужно будет запустить apt-get autoremove
или apt autoremove
.
Если вы установили из исходного кода, если у вас есть исходный каталог, в котором вы запускали команды make
, тогда вы МОЖЕТЕ выполнить make uninstall
, НО успех этого скрипта будет зависеть от самого make-файла. Однако не многие пакеты с исходным кодом включают деинсталляцию в make-файл...
Итак... как пользователь root, запустите updatedb
, затем попробуйте выполнить команду locate, и если вы не отредактировали или не скопировали файлы по путям, указанным в пакете, все это должно исчезнуть...