我想检查主机名,以确保它们符合Bash Shell中的标准命名约定。
假设主机名是ab-cde-01
wolf@linux:~$ h='ab-cde-01'
wolf@linux:~$ echo $h
ab-cde-01
wolf@linux:~$
我一开始就构建了if else循环,它运行得很好。
wolf@linux:~$ if [ $h = 'ab-cde-01' ]; then
> echo $h is a valid name
> else
> echo $h is an INVALID name
> fi
ab-cde-01
我目前正在学习linux脚本:
我将文件放在文件夹中,其文件名模式如下:
ABC01_-12ab_STRINGONE_logicMatches.txt
DEF02_-12ab_STRINGTWO_logicMatches.txt
JKL03_-12ab_STRINGTHREE_logicMatches.txt
我想提取STRINGONE,STRINGTWO和STRINGONE作为一个列表。要知道,如果我的想法可行,我想要回应我的结果,首先打击。
bash-script的代码(在文件所在的文件夹中执行):
#!/bin/bash
for element in 'folder' d
这是保存在文件中的前缀
wolf@linux:~$ cat prefix.txt
A.
B.
C.
wolf@linux:~$
我想将它与另一个输入(以版本格式)合并。
这是示例输入AB_CD_EF,但是它是水平格式的。
因此,我使用tr将其改为垂直格式。
wolf@linux:~$ echo AB_CD_EF | tr _ '\n'
AB
CD
EF
wolf@linux:~$
如何合并这两个输出以生成:
A. AB
B. CD
C. EF
我一直在考虑使用paste,但是它不适用于stdin。
wolf@linux:~$ paste $(echo AB_CD_E
我对这个cut命令没有异议。
wolf@linux:~$ echo ab cd ef
ab cd ef
wolf@linux:~$ echo ab cd ef | cut -d ' ' -f 1
ab
wolf@linux:~$ echo ab cd ef | cut -d ' ' -f 2
cd
但是,当我尝试使用这样的不同输入的相同命令时,我没有得到预期的输出。
wolf@linux:~$ ip address show eth0 | grep 'inet '
inet 10.10.10.10/24 brd 10.10.10.25