Вот и мы:
# Save the filename
filen="test.txt"
# Save the column name
col_name="$(head -n1 $filen|awk '{print $1}')"
# Save the target word
to_find="abc123"
echo "$col_name: $to_find" ; for name in $(grep $to_find $filen | awk '{print $4}'); do echo " $name"; done
Пример текста:
User ColumnA ColumnB ComumnC
abc123 hi hello howdy?
xyz123 Namaste que paso rowdy?
abc123 hi hello bowdy?
Выход:
User: abc123
howdy?
bowdy?
Это гарантирует, что новые файлы, созданные в /balab/settlement/report
, доступны для группового чтения, но не для групповой записи.
setfacl -m -d g::r /balb/settlement/report
Вот пример, если он в действии:
stew ~$ umask 0002 # New files will be -rw-rw-r-- like yours
stew ~$ cd $(mktemp -d) # Going to a new directory
stew /tmp/tmp.JgZyxzKcf8 $ getfacl. # It has no ACL rules yet
# file:.
# owner: stew
# group: stew
user::rwx
group::---
other::---
stew /tmp/tmp.JgZyxzKcf8 $ touch before # File to demonstrate pre-ACL rule
stew /tmp/tmp.JgZyxzKcf8 $ setfacl -d -m g::r. # Set the default acls to group-read-only
stew /tmp/tmp.JgZyxzKcf8 $ touch after # File to demonstrate post-ACL rule
stew /tmp/tmp.JgZyxzKcf8 $ ls -lr
total 0
-rw-rw-r-- 1 stew stew 0 Nov 2 12:39 before # Pre-ACL is world readable
-rw-r----- 1 stew stew 0 Nov 2 12:39 after # Post-ACL is group readable only
Новые файлы, доступные для записи группе -, выглядят немного странно. Если bala-sftp
для umask
выводит0022
(linux по умолчанию ), вам может потребоваться удалить существующие ACL. Сделайте это с setfacl -b /balb/settlement/report
. Я подозреваю, что bala-sftp
umask
- это 0002
, поэтому я установил свой собственный umask
таким же образом во время моего теста.