小编Dav*_*Dav的帖子

存在用于检查文件的一个班轮

目标:检查是否存在包含今天日期的备份 .tgz 文件;输出 1 表示 OK,0 表示没有文件。

我是一个班轮的傻瓜:) 例如在 PHP 中(在 Javascript 中非常相似),在各种情况下我喜欢做类似的事情

<?php
echo (date("d")==1)?"Monday":"Not Monday";
?>
Run Code Online (Sandbox Code Playgroud)

Bash 中是否有类似的语法?我知道如何使用 -f FILENAME 检查常规文件的存在,我只希望命令打印 1 或 0 :)

bash files

16
推荐指数
4
解决办法
3万
查看次数

BASH:如果用户密码被锁定,请检查 /etc/shadow

目标:检查/etc/shadow用户密码是否被锁定,即 /etc/shadow 中包含用户散列密码的第二个字段中的第一个字符是否为感叹号 ('!')

所需的输出:一个名为$disabled“真”或“假”的变量

用户名在$uname变量中,我做这样的事情:

disabled=`cat /etc/shadow |grep $uname |awk -F\: '{print$2}'`
# I now have the password and need one more pipe into the check for the character
# which is where I'm stuck. I would like to do like (in PHP syntax):
| VARIABLE=="!"?"True":"False"`
Run Code Online (Sandbox Code Playgroud)

这是一个脚本片段,它将由 Cron 以 root 权限运行,因此可以访问所有需要的信息。

linux bash users regular-expression

6
推荐指数
2
解决办法
4766
查看次数

Bash:连接来自两个 csv 文件的数据

我有两个包含各种用户数据的 csv 文件;它们共享一个公共字段(用户名)。

file A:
username ; Fullname ; mail
Bob      ; Bob Hope ; bob@hope.org

file B:
username ; LastLogonTime  ; AccountStatus (locked=0 or unlocked=1)
Bob      ; 2018-10-01 etc.; 0
Run Code Online (Sandbox Code Playgroud)

出于审计目的,我想使用 Bash 循环遍历 A,与 B 交叉检查帐户是否被锁定,在这种情况下,我可以将用户邮寄到 A 中的邮件地址。

awk -F";"
Run Code Online (Sandbox Code Playgroud)

让我越过A;这很容易 - 但我在尝试对 B 进行交叉检查循环时不知所措。

awk csv join

3
推荐指数
1
解决办法
2384
查看次数

标签 统计

bash ×2

awk ×1

csv ×1

files ×1

join ×1

linux ×1

regular-expression ×1

users ×1