我编写了以下bash脚本
#!/bin/bash
serverlist=server_list.txt
for server in `cat $serverlist`
do
out="hostnamectl | egrep 'Kernel|Server|hostname';who -b"
ssh -q $server $out
我得到了下面的输出~
Static hostname: mshost25
Operating System: Red Hat Enterprise Linux Server 7.9 (Maipo)
Kernel: Linux 3
在运行在Linux服务器上的bash脚本中,有一个指向特定路径的变量,让我们调用这个my-path。
my-path="/home/vMX-ENV/vMX-21.1R1/"
echo "The path is: $my-path"
...
在给定的变量my-path中,我正在寻找一种只显示版本号21.1R1的方法。
下面是我想要完成的事情的一个例子。
./script.sh
the path is: /home/vMX-ENV/vMX-21.1R1/
the version is: 21.1R1
有办法这样做吗?谢谢!
我想用linux命令在文本文件中找到字符串的最后一次出现。例如
1 a 1
2 a 2
3 a 3
1 b 1
2 b 2
3 b 3
1 c 1
2 c 2
3 c 3
在这样的文本文件中,我想找出b最后一次出现的行号,即6。
awk '/ b / {print NR;exit}' textFile.txt
但我不知道最后一次该怎么做。
我在学校使用PuTTy学习UNIX/Linux,我有一个2.asr文件,它是一个大型数据集,包含多个人的年龄、性别和种族,在各自的列中,例如: 19 Male White
23 Female White
23 Male White
45 Female Other
54 Male Asian
24 Male Other
34 Female Asian
23 Male Hispanic
45 Female Hispanic
38 Female White 我想找出平均年龄,最大年龄,最小年龄,以及独特的人口统计数据,如男性白人或女性西班牙裔的总出现次数。 我尝试过使用awk代码,如下所示: $
我有一个文件,里面有这样一堆整数:
6
2
3
4
3
目标是像视频游戏中那样在统计数据中转换这些整数,例如,如果数字为6,则该统计量必须为******----,如果该数字为4,则结果必须为****------。
我尝试了下面的代码,但它不起作用:
# Here I put all the int in a variable.
intNumber=`cat /home/intNumbers.txt`
# This for is a loop to print as much * as the number says.
for i in `seq 1 $intNumber`
do
echo
我经常使用sort | uniq -c进行计数统计。现在,如果我有两个具有这类计数统计信息的文件,我希望将它们放在一起并添加计数。(我知道我可以追加原始文件并在那里计数,但假设只有计数文件是可访问的)。
例如:
a.cnt:
1 a
2 c
b.cnt:
2 b
1 c
我想连接并获得以下输出:
1 a
2 b
3 c
在壳里做这件事的最短方法是什么?
编辑:
到目前为止,谢谢你的回答!
一些可能的方面-人们可能需要另外考虑的方面:
如果a,b,c是包含任意空格的任意字符串呢?
如果这些文件太大,无法存放在内存中呢?对于这种情况,是否有sort
样本文本
I like Linux
I like Microsoft
I like Solaris
I hate Linux
I hate Microsoft
I hate Solaris
我试图找出一个与regex X匹配但没有regex的行。使用示例文本,我试图得到以下内容。
I like Linux
I like Microsoft and Linux
I like Solaris and Linux
I hate Linux
I hate Microsoft
I hate Solaris
请注意,它只添加到有like而没有Linux的行中。