[1189122]Причина, по которой yum просит ключ, заключается в том, что его нет в /etc/pki/rpm-gpg
Вы можете импортировать ключ одним из 4 способов:
use [1189940]rpm --import http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6[1189941]
(как предлагает slm)Установите пакет, а затем подождите подсказки (как я делал)
Используйте RPM-пакет, предоставляемый epel, он устанавливает repo и ключ одновременно.
net use \\Hostname /savecred /persistent:yes
sudo yum -y install http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm"
Function Unicode(val As Long)
Unicode = ChrW(val)
End Function
Скопируйте ключ вручную в нужный каталог.
Можно попробовать
echo $VAR | tr -s " "
или
myArr=($VAL)
VAL=${myArr[@]}
echo "$VAL"
-121--7330- При использовании Bash можно использовать расширение подстановки . Например:
$ echo "${VAR// /}"
This displays with extra spaces.
-121--7331- Можно выполнить следующее:
awk -F: '{ print $1" "$5 }' /etc/passwd | sort -k2
Это приведет к разбору полей имени пользователя и комментария из /etc/passwd
и sort
во втором поле, которое будет первым именем пользователя, при условии, что они перечислены в порядке имени и фамилии.
Вот пример включения grep
:
grep "500\|501\|502" /etc/passwd | awk -F: '{ print $1" "$5 }' | sort -k2
jira Atlassian JIRA
dick Richard Jameson
bob Robert Gillespie
EDIT:
Используйте его, чтобы изменить порядок lastname, firstname из файла /etc/passwd
:
awk -F: '{ print $1" "$5 }' /etc/passwd | awk '{ print $1" "$3" "$2 }' | sort -k2
Приведенный выше пример изменен для lastname, firstname в файле /etc/passwd
:
grep "500\|501\|502" /etc/passwd | awk -F: '{ print $1" "$5 }' | awk '{ print $1" "$3" "$2 }' | sort -k2
Это работает, если нет,
EDIT (второй):
Поскольку последние/первые имена разделены запятыми, это должно работать:
awk -F: /$id_prefix/'{ print $1" "$5 }' /etc/passwd | awk -F, '{ print $1" "$2 }' | awk '{ print $1" "$3" "$2 }' | sort -k2
Спасибо @ Jidder за рекомендацию не прокладывать трубопроводы от grep
до awk
.
Вы должны сделать это:
grep mohsen /etc/passwd | awk -F':' {'split($5,a,",");printf "username is :%s ,uid is: %s , name is %s \n",$1,$3,a[1] '}
Выход:
username is :mohsen ,uid is: 1000 , name is Mohsen Pahlevanzadeh
Shift + Удалить удалить файлы без возможности восстановления. Для перемещения в корзину нажмите Ctrl + Delete . Чтобы отключить эту функцию безопасности в Gnome3, перейдите в скрытый каталог /home/user/.config/nautilus
и отредактируйте файл accel
, изменив значение
; (gtk_accel_path "<Actions>/DirViewActions/Trash" "<Primary>Delete")
на
(gtk_accel_path "<Actions>/DirViewActions/Trash" "Delete")
. Затем перезапустите nautilus, выйдя из системы и снова войдя в систему.
-121--196381-Вот что вы можете сделать в обычном режиме, предполагая, что данные точно такие, как вы разместили. ( Предупреждение : изменяет контекстные файлы. Будьте внимательны к резервному копированию перед тестированием.)
Для управления первыми двумя файлами используется несколько функций:
next_id() {
file="$1"
# assumes file is sorted by id
echo $(( $(tail -n 1 $file|cut -d, -f1) + 1 ))
}
При условии, что file1 и file2 отсортированы по столбцу id, при этом первая часть последней строки берется и увеличивается на единицу, генерируя следующий идентификатор.
find_or_create_id() {
file="$1"
item="$2"
# check if we already have that item
id=$(grep -m 1 ",$item$" "$file" 2> /dev/null)
if [[ $? -ne 0 ]] ; then
# generate the next id, append
id=$(next_id "$file")
echo "$id,$item" >> "$file"
else
# got it already
id=${id/,*}
fi
echo "$id"
}
Выполняется поиск элемента (vname или dname) в одной из первых двух строк. Если он найден, верните существующий идентификатор. Если нет, создайте следующий идентификатор и сохраните его обратно в файл.
Основная часть довольно проста после того, как вы получили подстроки правильно:
while read line ; do
col1=${line/,*} # everything up to first ,
col3=${line//*,} # everything after last ,
col2=${line%,*} # everything after first ,
col2=${col2#*,} # everything before last ,
id1=$(find_or_create_id file1 "$col1")
id2=$(find_or_create_id file2 "$col2")
# don't insert duplicates
if ! grep -m 1 -q "^$id1,$id2," file3 ; then
echo "$id1,$id2,$col3" >> file3
fi
done < <(tail -n +2 file4)
Это не вставить в последний файл по порядку, вы получите новые строки в конце.
При этом, если какой-либо из этих файлов является нетривиальным по размеру, база данных была бы уместной. Если сервер базы данных не требуется, обратитесь к SQLite.
Предполагая, что вас не волнуют последовательные идентификаторы (только то, что они отличаются), и вы поставили integer primary key autoincrement
id для таблицы 1 и таблицы 2 (плюс уникальные ключи для vname и dname), обновление будет выглядеть как (скорее всего, есть более тонкие способы, чем вставить или игнорировать
подход):
insert or ignore into tab1(vname) select distinct vname from tab4;
insert or ignore into tab2(dname) select distinct dname from tab4;
insert or ignore into tab3(id1,id2,value)
select tab1.id, tab2.id, tab4.value
from tab4
left join tab1 on tab1.vname = tab4.vname
left join tab2 on tab2.dname = tab4.dname;
SQLite может иметь дело с "
в файле.
.separator ,
.import fileX tabX
делает Правильный Thing™, по крайней мере, с образцами, которые у вас есть.
Простая схема:
create table tab1 (id integer primary key autoincrement, vname text);
create unique index tab1_vname on tab1(vname);
create table tab2 (id integer primary key autoincrement, dname text);
create unique index tab2_dname on tab2(dname);
create table tab3 (id1 int, id2 int, value text,
constraint tab3_pk primary key(id1, id2));
create table tab4 (vname text, dname text, value text);
-121--210034- Я думаю, что вы можете избежать чего-то подобного:
grep $id_prefix /etc/passwd | cut --delimiter: --fields=1,5 | sort --field-separator=: --key=2
Вы также можете добавить опцию --ignore-case
для сортировки
, если это необходимо в вашем контексте. Дополнительные сведения см. в документах .
Не знаю, почему люди - это трубопровод в awk.
Вы могли бы сделать все это в awk.
Это предполагает, что первое и фамилия разделены пространством.
Где имя пользователя является поисковым термином
awk -F: '/USERNAME/{split($5,a," ");print $1,a[2],a[1]}' etc/passwd