С помощью awk-скрипта GNU, как показано ниже:
NR == FNR {
strt=1
}
strt == 0 {
if (match($0,/Name/)) {
id=substr($0,RSTART,length($0))
id=gensub("R","","g",id)
}
file2[id]=file2[id]"\n"$0
}
FNR == 1 && NR != 1 {
strt=0
file2[$0]=""
}
strt == 1 {
file1[$0]=$0
}
END {
for (i in file2) {
if (file1[i] != "") {
resp=gensub(/[[:blank:]]{5}type.*;/," type
700;","g",file2[i])
print resp
}
else {
print file2[i]
}
}
}
Считайте два файла в отдельные массивы (файл1, файл2 )с указанием, например, «Имя :0603». В конце выполните цикл по массиву file2, совпадающему с file1. Если в файле1 есть запись, используйте gensub для сопоставления и замены шаблона, в противном случае просто напечатайте запись в файле2.
действие с:
awk -f scriptfile file1 file2
В системе UNIX все является файлом, включая каталоги. Таким образом, пользователи и группы каталогов могут быть изменены с помощью chown точно так же, как папки.
Чтобы изменить только каталог верхнего уровня.
chown :groupname directory
Чтобы изменить каталог и все вложенные -файлы и вложенные -каталоги.
chown -R :groupname directory
Если у вас есть другие вопросы о chown, я бы порекомендовал проверить справочную страницу chown или взглянуть на этот ответ askUbuntu .
Каждый каталог (или файл )имеет владельца , группу и разрешения .
Вы не можете «сделать каталог частью группы», но вы можете изменить принадлежность группы к каталогу (или файлу ).
Команда для смены владельца группы: chgrp:
chgrp <group> <directory-or-file-name>
Команду chown также можно использовать для изменения членства в группе каталога (или файла ), где имя группы указывается вместе или без имени владельца.