这里完全是新手..抱歉。
我有一个.txt包含 IP 的文件(逐行):
195.678.333.23
54.221.67.1
32.221.67.2
32.221.67.3
56.221.67.4
32.221.67.5
243.221.67.6
23.221.67.7
34.221.67.8
34.221.67.9
Run Code Online (Sandbox Code Playgroud)
(我需要循环大约200个IP)
我需要读取每一行,然后搜索多个 csv 文件以查找这些 IP,看看它们是否存在。
CSV 是这样的:
3am452525-1;2021-08-25T07:49:03.188353+00:00;195.678.333.23;234.45.78.232;\"pass rscore=16\";bl@hotmail.com resolve=ok reverse=bl@hotmail.com routes= notroutes=alfgdfgd,pr_sdt_Spsdgsgdhidfhgd;sxdgdsgs.hotmail.com;ECDHE-RSA-AES256-GCM-SHA384;NOT;sdgsgm@dunog.df;ENV_RCPT:dgsgsgsg@{hotmial.com,ENV_RCPT_VERIFY:1;ATTACH_NAME:sdgdsgsgsof.pdf,ATTACH_MIME:application/pdf,ATTACH_TYPE:pdf,ATTACH_OEXT:pdf,ATTACH_CORRUPT:0,ATTACH_PROTECT:0,ATTACH_SIZE:20099;;;;;;sdgsg_fhdh_dfhdh;asrsar_asrar;0;0;0;0;0;0;0;df;8.12.0-2107140000;main-2108250046;;;;sdgsg;;;;none;none;rule=sdgsgs action=ssdgsg-sgddsgr Subject default="sdgs $reyey";rule=odfhddh action=add-header dfhdhdReason="$SpamReason";;;;;;SEND_QID:4363636363,SEND_PROFILE:mail,SEND_RCPTS:dhdfhh;1;1;default_uioyuouyo_RcptInOrg;30677;uMwaF_x-00m7xOj-rho8njCPLr_QKYh3;<B8967386-0450-4709-A382-66D68CE4F3A6@rtce-efax1>;"zdgddadyhadyhad";0.283;1;0.856;Fax-Tdhfdm@urydyd;sdhdfhdhdhfd
Run Code Online (Sandbox Code Playgroud)
IP 存在于$3CSV 文件的字段中,但如果我找到 IP,那么我希望将整行作为输出。
有人可以帮忙吗?
我有厌倦的事情,比如:
cat /tmp/IPs_filename.txt | while read line; do grep ${line} csvlog.436334.csv; done
但没有帮助。
谢谢
我希望将两个文本文件合并为一个,其中一个文本文件中的所有行都变成奇数行号,另一个文件变成偶数行号,例如将文件编织在一起
输入1.txt
1, 267, Note_on_c, 0, 67, 100
1, 758, Note_on_c, 0, 58, 100
1, 1248, Note_on_c, 0, 79, 100
1, 1739, Note_on_c, 0, 52, 100
Run Code Online (Sandbox Code Playgroud)
输入2.txt
1, 368, Note_off_c, 0, 67, 127
1, 936, Note_off_c, 0, 58, 127
1, 1415, Note_off_c, 0, 79, 127
1, 1917, Note_off_c, 0, 52, 127
Run Code Online (Sandbox Code Playgroud)
并需要组合这些文本文件来创建以下输出
1, 267, Note_on_c, 0, 67, 100
1, 368, Note_off_c, 0, 67, 127
1, 758, Note_on_c, 0, 58, 100
1, 936, Note_off_c, 0, 58, 127
1, 1248, Note_on_c, 0, …Run Code Online (Sandbox Code Playgroud) 我有两个相同的脚本.在一个我使用的猫和其他它都是AWK.
这是第一个:
#!/bin/bash
lines=$(cat /etc/passwd | wc -l)
for ((i=1 ; i <=$lines ; i++ ))
do
user=$(cat /etc/passwd | awk -F : -vi=$i 'NR==i {print $1}')
uid=$(cat /etc/passwd | awk -F : -vi=$i 'NR==i {print $3}')
gid=$(cat /etc/passwd | awk -F : -vi=$i 'NR==i {print $4}')
shell=$(cat /etc/passwd | awk -F : -vi=$i 'NR==i {print $7}')
echo -e "User is : $user \t Uid is : $uid \t Gid is : $gid \t Shell is : $shell"
done
Run Code Online (Sandbox Code Playgroud)
这是第二个: …
我想从 S3 存储桶复制文件,我需要将该文件附加到另一个文件。我想在单个命令中完成。aws s3 cp s3://sample/test.txt /home/user/test.txt 此命令正在覆盖现有文件。如果我使用“cat >>”,则会出错。TIA。
我有两个json:
env.json
{
"environment":"INT"
}
Run Code Online (Sandbox Code Playgroud)
Roles.json
{
"run_list":[
"recipe[splunk-dj]",
"recipe[tideway]",
"recipe[AlertsSearch::newrelic]",
"recipe[AlertsSearch]"
]
}
Run Code Online (Sandbox Code Playgroud)
预期的输出应该是这样的:
{
"environment":"INT",
"run_list":[
"recipe[splunk-dj]",
"recipe[tideway]",
"recipe[AlertsSearch::newrelic]",
"recipe[AlertsSearch]"
]
}
Run Code Online (Sandbox Code Playgroud)
我只需要使用可用的内置bash命令将这两个json(以及其他类似这两个)合并为一个json。
我只能使用sed,cat,echo,tail,wc。
嘿我wana准备unix的各种基本命令,所以我需要这个ans.在unix中cat foo foo foo的输出是什么?我很困惑它会显示foo文件的输出三次或者我可能不知道的任何其他内容吗?任何帮助表示赞赏?
更新:实际上我没有安装UNIX,我只是准备测试.我知道这个问题不被问到,但除了这个之外我没有别的办法.甚至我已经搜索过了.