Shell reguläre Ausdrücke sind nicht detailliert, Sie haben das letzte Wort

Regelmäßiger Ausdruck der Schale

1. Regelmäßiger Ausdruck der Schale

1. Der Befehl sort ---- sortiert den Inhalt der Datei nach Zeileneinheiten oder nach verschiedenen Datentypen

Syntaxformat:

sort [选项] 参数
cat file | sort 选项

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

常用选项:
-f:忽略大小写
-b:忽略每行前面的空格
-n:按照数字进行排序
-r:反向排序
-u:等同于uniq,表示相同的数据仅显示一行
-t:指定字段分隔符,默认使用[Tab]键分隔
-k:指定排序字段
-o <输出文件>:将排序后的结果转存至指定文件
sort -n test.txt

Fügen Sie hier eine Bildbeschreibung ein

sort -u test.txt

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

sort -t ":" -k3 -n /etc/passwd 

Fügen Sie hier eine Bildbeschreibung ein

du -ah | sort -nr -o du.txt

Fügen Sie hier eine Bildbeschreibung ein

2. Der Befehl uniq - wird verwendet, um aufeinanderfolgende wiederholte Zeilen in einer Datei zu melden oder zu ignorieren, häufig kombiniert mit dem Befehl sort

语法格式:
uniq [选项] 参数
cat file | uniq 选项
常用选项:
-c:进行计数,并删除文件中重复出现的行
-d:仅显示重复行
-u:仅显示出现一次的行

Fügen Sie hier eine Bildbeschreibung ein

Drei tr-Befehle, die häufig zum Ersetzen, Komprimieren und Löschen von Zeichen aus der Standardeingabe verwendet werden

语法格式:
tr [选项] [参数]
常用选项:
-c:保留字符集1的字符,其他的字符用(包括换行符\n)字符集2替换
-d:删除所有属于字符集1的字符
-s:将重复出现的字符串压缩为一个字符串;用字符集2 替换 字符集1
-t:字符集2 替换 字符集1,不加选项同结果。	
参数:
字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”;
字符集2:指定要转换成的目标字符集。
[root@localhost ~]#echo "abc" | tr 'a-z' 'A-Z'
ABC

#将abc替换成ABC
[root@localhost ~]#echo abccabacca | tr -c "ab\n" "0"
ab00aba00a

#保留ab字符,将其他字符替换成00
[root@localhost ~]#echo 'hello world' | tr -d 'od'
hell wrl

#删除od字符
[root@localhost ~]#echo "thissss is a text linnnnnnne." | tr -s 'sn'
this is a text line.

#将重复出现的s n字符压缩成一个字符
[root@localhost ~]#cat 123.txt 
aa





bb
[root@localhost ~]#cat 123.txt | tr -s "\n"
aa
bb

#删除空行
[root@localhost ~]#echo $PATH | tr -s ":" "\n"
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/root/bin

#把路径变量中的冒号":",替换成换行符"\n"
#删除Windows文件“造成”的'^M'字符:
cat 22.txt | tr -s "\r" "\n" > new_22.txt 
或cat 22.txt | tr -d "\r" > new_22.txt
Linux中遇到换行符("\n")会进行回车+换行的操作,回车符反而只会作为控制字符("^M")显示,不发生回车的操作。而windows中要回车符+换行符("\r\n")才会回车+换行,缺少一个控制符或者顺序不对都不能正确的另起一行。
[root@localhost ~]#rz -E
rz waiting to receive.
[root@localhost ~]#cat -A aa.txt 
aa^M$
^M$
^M$
^M$
#在window创建一个文件,放入linux里面cat -A aa.txt 看到每个空格显示^M$.格式会发生变化

Fügen Sie hier eine Bildbeschreibung ein

yum install -y dos2unix
dos2unix 33.txt #借用这个工具也可以改变格式,需要安装

Fügen Sie hier eine Bildbeschreibung ein

Array-Sortierung

abc=(3 5 8 7 9 2 1)

echo ${abc[*]} | tr ' ' '\n' | sort -n

Fügen Sie hier eine Bildbeschreibung ein

Zwei, regulärer Ausdruck

1. Funktion

Reguläre Ausdrücke werden normalerweise in Beurteilungsanweisungen verwendet, um festzustellen, ob eine Zeichenfolge einem bestimmten Format entspricht

2. Zusammensetzung des regulären Ausdrucks

Der reguläre Ausdruck besteht aus gewöhnlichen Zeichen und Metazeichen

Zu den gebräuchlichen Zeichen gehören Groß- und Kleinbuchstaben, Zahlen, Satzzeichen und einige andere Symbole

Metazeichen beziehen sich auf Sonderzeichen mit besonderer Bedeutung in regulären Ausdrücken. Sie können verwendet werden, um das Erscheinungsbild des führenden Zeichens (des Zeichens vor dem Metazeichen) im Zielobjekt anzugeben

3. Häufige Metazeichen in regulären Grundausdrücken (unterstützte Tools: grep, egrep, sed, awk)

Grundlegende Metazeichen für reguläre Ausdrücke mit regulären Ausdrücken Beschreibung
\. Das Escape-Zeichen wird verwendet, um die Bedeutung von Sonderzeichen zu löschen. Beispiel:!, \ N, $ usw.
^ Die Position, an der die Übereinstimmungszeichenfolge beginnt. Beispiel: a, the, #, [az]
$ Die Position, an der die übereinstimmende Zeichenfolge endet. Beispiel: wordKaTeX-Analysefehler: Erwartete Gruppe nach '^' an Position 2:, ^ ̲ stimmt mit Leerzeilen überein
. Entspricht einem beliebigen Zeichen außer \ n. Beispiel: go.d, g ... d
* * Passen Sie den vorhergehenden Unterausdruck 0 oder mehrmals an, zum Beispiel: goo * d, go. * D.
[Liste] Stimmen Sie mit einem Zeichen in der Liste überein, zum Beispiel: go [ola] d, [abc], [az], [a-z0-9], [0-9] stimmen mit einer beliebigen Ziffer überein
[^ Liste] Stimmen Sie mit einem beliebigen Zeichen in einer Liste ohne Liste überein, zum Beispiel: [^ 0-9], [^ A-Z0-9], [^ az] stimmen mit einem beliebigen Buchstaben ohne Kleinbuchstaben überein
{n} Passen Sie den vorhergehenden Unterausdruck n-mal an, zum Beispiel: go {2} d, '[0-9] {2,}' stimmen mit zwei Ziffern überein
{n} Passen Sie den vorhergehenden Unterausdruck mindestens n-mal an, zum Beispiel: go {2,} d, '[0-9] {2,}' stimmen mit zwei oder mehr Ziffern überein
{n, m} Passen Sie den vorhergehenden Unterausdruck n an m an, zum Beispiel: go {2,3} d, '[0-9] {2,3}' entspricht zwei bis drei Ziffern

Hinweis: Wenn egrep und awk {n}, {n,}, {n, m} verwenden, um übereinzustimmen, muss "{}" nicht vor "\" hinzugefügt werden.

4. Erweiterte Metazeichen für reguläre Ausdrücke (unterstützte Tools: egrep, awk)

Erweiterte Metazeichen für reguläre Ausdrücke Beschreibung
+ Passen Sie den vorherigen Unterausdruck mehr als einmal an, zum Beispiel: go + d, stimmt mit mindestens einem o überein, z. B. Gott, Gut, Gut usw.
? Passen Sie den vorherigen Unterausdruck 0 oder 1 Mal an, zum Beispiel: go? D, es wird gd oder god entsprechen
() Nehmen Sie die Zeichenfolge in Klammern als Ganzes, zum Beispiel: g (oo) + d, sie stimmt mehr als einmal mit oo als Ganzes überein, z. B. gut, gut usw.
| Passen Sie die Wortfolge auf eine oder mehrere Arten an, zum Beispiel: g (oo | la) d, passt gut oder froh

Ich denke du magst

Origin blog.csdn.net/weixin_51573771/article/details/111682810
Empfohlen
Rangfolge