我有一个代码片段,用于解析日志文件并打印我需要的信息。
for i in $(cat ~/jlog/"$2"); do
grep "$1" ~/jlog/"$2" |
awk '/\([a-zA-Z0-9.]+/ {print $7}'
done;
Run Code Online (Sandbox Code Playgroud)
问题是当我输入输入时,它会多次显示答案:
(1.3.51.0.1.1.10.10.30.48.2084865.2084839/1.2.840.113619.2.284.3.17454802.933.1401109176.280.1)
(1.3.51.0.1.1.10.10.30.48.2084865.2084839/1.2.840.113619.2.284.3.17454802.933.1401109176.283.1)
(1.3.51.0.1.1.10.10.30.48.2084865.2084839/1.2.840.113619.2.80.977011700.14346.1401109696.2)
(1.3.51.0.1.1.10.10.30.48.2084865.2084839/1.2.840.113619.2.80.977011700.14346.1401109706.51)
(1.3.51.0.1.1.10.10.30.48.2084865.2084839/1.2.840.113619.2.80.977011700.14346.1401109758.100)
(1.3.51.0.1.1.10.10.30.48.2084865.2084839/1.2.840.113619.2.80.977011700.14346.1401109773.149)
(1.3.51.0.1.1.10.10.30.48.2084865.2084839/1.2.840.113619.2.80.977011700.14346.1401109810.198)
(1.3.51.0.1.1.10.10.30.48.2084865.2084839/1.2.840.113619.2.80.977011700.14346.1401109818.247)
Run Code Online (Sandbox Code Playgroud)
有什么办法可以修剪这个,所以我只能显示第一组数据一次。我只需要1.3.51.0.1.1.10.10.30.48.2084865.2084839打印一次。
我也尝试将其更改为这个,但 Bash 不喜欢它:
for i in $(cat ~/jlog/"$2"); do
grep "$1" ~/jlog/"$2" |
awk '/\([a-zA-Z0-9.]+/' |
awk -F'[(/]' ' {print $2, exit}'
done;
Run Code Online (Sandbox Code Playgroud)
然后尝试了这个:
for i in $(cat ~/jlog/"$2"); do
grep "$1" ~/jlog/"$2" |
awk -F'[(/]' '/\([a-zA-Z0-9.]+/ {print $2, exit }'
done;
Run Code Online (Sandbox Code Playgroud) 我刚刚创建了一个组,我希望将 RWX 添加到 root 和组中。我可以使用什么命令来设置权限?我也希望世界没有权限