diff --git a/docs/books/disa_stig/disa_stig_part1.it.md b/docs/books/disa_stig/disa_stig_part1.it.md
index 91d2af1b71..76dd552f56 100644
--- a/docs/books/disa_stig/disa_stig_part1.it.md
+++ b/docs/books/disa_stig/disa_stig_part1.it.md
@@ -22,7 +22,7 @@ tags:
## Introduzione
-In questa guida verrà illustrato come applicare la [DISA STIG per RHEL8](https://www.stigviewer.com/stig/red_hat_enterprise_linux_8/) per una nuova installazione di Rocky Linux. Come serie in più parti, tratteremo anche come testare la conformità STIG, adattare le impostazioni STIG e applicare altri contenuti STIG in questo ambiente.
+In questa guida verrà illustrato come applicare il [DISA STIG per RHEL8](https://stigviewer.com/stigs/red_hat_enterprise_linux_8) per una nuova installazione di Rocky Linux 8. Come serie in più parti, tratteremo anche come testare la conformità STIG, adattare le impostazioni STIG e applicare altri contenuti STIG in questo ambiente.
Rocky Linux è un derivato bug per bug di RHEL e come tale il contenuto pubblicato per il DISA RHEL8 STIG è in parità per entrambi i sistemi operativi. Una notizia ancora migliore è che l'applicazione delle impostazioni STIG è integrata nel programma di installazione di Rocky Linux 8 anaconda, sotto la voce Profili di Sicurezza. Il tutto è gestito da uno strumento chiamato [OpenSCAP](https://www.open-scap.org/), che consente sia di configurare il sistema in modo che sia conforme alla DISA STIG (velocemente!), sia di testare la conformità del sistema dopo l'installazione.
diff --git a/docs/books/disa_stig/disa_stig_part3.it.md b/docs/books/disa_stig/disa_stig_part3.it.md
index cb6c8af433..776e84f5f2 100644
--- a/docs/books/disa_stig/disa_stig_part3.it.md
+++ b/docs/books/disa_stig/disa_stig_part3.it.md
@@ -12,7 +12,7 @@ tags:
# Introduzione
-Nella prima parte di questa serie, abbiamo spiegato come costruire il nostro server web con la STIG RHEL8 DISA di base applicata e, nella seconda parte, abbiamo imparato a testare la conformità STIG con lo strumento OpenSCAP. Ora faremo qualcosa con il sistema, costruendo una semplice applicazione web e applicando la STIG del server web DISA: https://www.stigviewer.com/stig/web_server/
+Nella prima parte di questa serie, abbiamo spiegato come costruire il nostro server web con la STIG RHEL8 DISA di base applicata e, nella seconda parte, abbiamo imparato a testare la conformità STIG con lo strumento OpenSCAP. Ora faremo qualcosa con il sistema, costruendo una semplice applicazione web e applicando il web server DISA STIG: [https://stigviewer.com/stigs/apache_server_2.4_unix_server](https://stigviewer.com/stigs/apache_server_2.4_unix_server)
Per prima cosa confrontiamo ciò che stiamo affrontando: la STIG DISA di RHEL 8 è indirizzata a una piattaforma molto specifica, quindi i controlli sono abbastanza facili da capire in quel contesto, da testare e da applicare. Le STIG delle applicazioni devono essere portabili su più piattaforme, quindi il contenuto qui presente è generico per funzionare su diverse distribuzioni Linux (RHEL, Ubuntu, SuSE, ecc.)**. Strumenti come OpenSCAP non ci aiutano a verificare/recuperare la configurazione. Andremo a farlo manualmente. Questi STIG sono:
diff --git a/docs/books/sed_awk_grep/2_grep_command.it.md b/docs/books/sed_awk_grep/2_grep_command.it.md
index 91f32bc28a..8e71ca890f 100644
--- a/docs/books/sed_awk_grep/2_grep_command.it.md
+++ b/docs/books/sed_awk_grep/2_grep_command.it.md
@@ -1,7 +1,7 @@
---
title: Comando Grep
author: tianci li
-contributors: null
+contributors:
tags:
- grep
---
diff --git a/docs/books/sed_awk_grep/2_grep_command.uk.md b/docs/books/sed_awk_grep/2_grep_command.uk.md
index 6729c1e654..2a9dee9943 100644
--- a/docs/books/sed_awk_grep/2_grep_command.uk.md
+++ b/docs/books/sed_awk_grep/2_grep_command.uk.md
@@ -1,7 +1,7 @@
---
title: Команда Grep
author: tianci li
-contributors: null
+contributors:
tags:
- grep
---
diff --git a/docs/books/sed_awk_grep/3_sed_command.it.md b/docs/books/sed_awk_grep/3_sed_command.it.md
index 21e56286d2..02b9aacd72 100644
--- a/docs/books/sed_awk_grep/3_sed_command.it.md
+++ b/docs/books/sed_awk_grep/3_sed_command.it.md
@@ -1,7 +1,7 @@
---
title: Comando Sed
author: tianci li
-contributors: null
+contributors:
tags:
- sed
---
@@ -68,446 +68,416 @@ sed [OPTION]... {script-only-if-no-other-script} [input-file]...
1. Associa e visualizza (`p`)
- - Visualizza le righe che iniziano con la stringa netbios
-
- ```bash
- Shell > cat /etc/services | sed -n '/^netbios/p'
- netbios-ns 137/tcp # NETBIOS Name Service
- netbios-ns 137/udp
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- netbios-dgm 138/udp
- netbios-ssn 139/tcp # NETBIOS session service
- netbios-ssn 139/udp
- ```
-
- !!! tip "Suggerimento"
-
- ```
- Come sappiamo bene, le virgolette doppie e singole in una shell ricoprono ruoli differenti. I caratteri **$**, **\`** e **\\** tra virgolette doppie hanno un significato speciale. Il consiglio è utilizzare le virgolette singole più spesso con il comando `sed`.
- ```
-
- - Visualizza il testo da riga 23 a riga 26
-
- ```bash
- Shell > cat -n /etc/services | sed -n '23,26p'
- 23 tcpmux 1/tcp # TCP port service multiplexer
- 24 tcpmux 1/udp # TCP port service multiplexer
- 25 rje 5/tcp # Remote Job Entry
- 26 rje 5/udp # Remote Job Entry
- ```
-
- - Visualizza solo le righe dispari
-
- ```bash
- Shell > cat -n /etc/services | sed -n '1~2p'
- 1 # /etc/services:
- 3 #
- 5 # IANA services version: last updated 2016-07-08
- 7 # Note that it is presently the policy of IANA to assign a single well-known
- 9 # even if the protocol doesn't support UDP operations.
- 11 # are included, only the more common ones.
- 13 # The latest IANA port assignments can be gotten from
- 15 # The Well Known Ports are those from 0 through 1023.
- 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
- 19 # Each line describes one service, and is of the form:
- ...
- ```
-
- - Visualizza dalla riga 10 fino all'ultima riga
-
- ```bash
- Shell > cat -n /etc/services | sed -n '10,$p'
- 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
- 11 # are included, only the more common ones.
- 12 #
- 13 # The latest IANA port assignments can be gotten from
- 14 # http://www.iana.org/assignments/port-numbers
- 15 # The Well Known Ports are those from 0 through 1023.
- 16 # The Registered Ports are those from 1024 through 49151
- 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
- ...
- ```
-
- - Non visualizzare dalla riga 10 in poi
-
- ```bash
- Shell > cat -n /etc/services | sed -n '10,$!p'
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 4 # Network services, Internet style
- 5 # IANA services version: last updated 2016-07-08
- 6 #
- 7 # Note that it is presently the policy of IANA to assign a single well-known
- 8 # port number for both TCP and UDP; hence, most entries here have two entries
- 9 # even if the protocol doesn't support UDP operations.
- ```
-
- - Visualizza il numero di riga e il contenuto della stringa corrispondente
-
- ```bash
- Shell > sed -n -e '/netbios/=' -e '/netbios/p' /etc/services
- 123
- netbios-ns 137/tcp # NETBIOS Name Service
- 124
- netbios-ns 137/udp
- 125
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- 126
- netbios-dgm 138/udp
- 127
- netbios-ssn 139/tcp # NETBIOS session service
- 128
- netbios-ssn 139/udp
- ```
-
- - Trova le corrispondenze nell'elenco delle stringhe e lo visualizza
-
- Utilizzare la virgola per separare l'elenco delle stringhe di ricerca
-
- ```bash
- Shell > cat /etc/services | sed -n '/^netbios/,/^imap/p'
- netbios-ns 137/tcp # NETBIOS Name Service
- netbios-ns 137/udp
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- netbios-dgm 138/udp
- netbios-ssn 139/tcp # NETBIOS session service
- netbios-ssn 139/udp
- imap 143/tcp imap2 # Interim Mail Access Proto v2
- ```
-
- !!! info "Informazione"
-
- ```
- **Stringa iniziale**: Abbina la riga in cui si trova la stringa, mostrando solo la prima stringa che compare.
- **Stringa finale**: Abbina la riga in cui si trova la stringa, mostrando solo la prima stringa che compare.
- ```
-
- ```bash
- Shell > grep -n ^netbios /etc/services
- 123:netbios-ns 137/tcp # NETBIOS Name Service
- 124:netbios-ns 137/udp
- 125:netbios-dgm 138/tcp # NETBIOS Datagram Service
- 126:netbios-dgm 138/udp
- 127:netbios-ssn 139/tcp # NETBIOS session service
- 128:netbios-ssn 139/udp
-
- Shell > grep -n ^imap /etc/services
- 129:imap 143/tcp imap2 # Interim Mail Access Proto v2
- 130:imap 143/udp imap2
- 168:imap3 220/tcp # Interactive Mail Access
- 169:imap3 220/udp # Protocol v3
- 260:imaps 993/tcp # IMAP over SSL
- 261:imaps 993/udp # IMAP over SSL
- ```
-
- In altre parole, i contenuti sopra visualizzati sono le righe dalla 123 alla 129
-
- - Visualizza dalla riga in cui si trova la stringa fino all'ultima riga
-
- ```bash
- Shell > cat /etc/services | sed -n '/^netbios/,$p'
- ```
-
- - Usare le variabili negli script bash
-
- ```bash
- Shell > vim test1.sh
- #!/bin/bash
- a=10
-
- sed -n ''${a}',$!p' /etc/services
- # or
- sed -n "${a},\$!p" /etc/services
- ```
-
- - Espressione regolare
-
- Abbina soltanto Tre "Digits" + "/udp".
-
- ```bash
- Shell > cat /etc/services | sed -r -n '/[^0-9]([1-9]{3}\/udp)/p'
- sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP
- auth 113/udp authentication tap ident
- sftp 115/udp
- uucp-path 117/udp
- nntp 119/udp readnews untp # USENET News Transfer Protocol
- ntp 123/udp # Network Time Protocol
- netbios-ns 137/udp
- netbios-dgm 138/udp
- netbios-ssn 139/udp
- ...
- ```
+ - Visualizza le righe che iniziano con la stringa netbios
+
+ ```bash
+ Shell > cat /etc/services | sed -n '/^netbios/p'
+ netbios-ns 137/tcp # NETBIOS Name Service
+ netbios-ns 137/udp
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ netbios-dgm 138/udp
+ netbios-ssn 139/tcp # NETBIOS session service
+ netbios-ssn 139/udp
+ ```
+
+ !!! tip "Suggerimento"
+
+ ```
+ Come sappiamo bene, le virgolette doppie e singole in una shell ricoprono ruoli differenti. I caratteri **$**, **\`** e **\\** tra virgolette doppie hanno un significato speciale. Il consiglio è utilizzare le virgolette singole più spesso con il comando `sed`.
+ ```
+
+ - Visualizza il testo da riga 23 a riga 26
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '23,26p'
+ 23 tcpmux 1/tcp # TCP port service multiplexer
+ 24 tcpmux 1/udp # TCP port service multiplexer
+ 25 rje 5/tcp # Remote Job Entry
+ 26 rje 5/udp # Remote Job Entry
+ ```
+
+ - Visualizza solo le righe dispari
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '1~2p'
+ 1 # /etc/services:
+ 3 #
+ 5 # IANA services version: last updated 2016-07-08
+ 7 # Note that it is presently the policy of IANA to assign a single well-known
+ 9 # even if the protocol doesn't support UDP operations.
+ 11 # are included, only the more common ones.
+ 13 # The latest IANA port assignments can be gotten from
+ 15 # The Well Known Ports are those from 0 through 1023.
+ 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
+ 19 # Each line describes one service, and is of the form:
+ ...
+ ```
+
+ - Visualizza dalla riga 10 fino all'ultima riga
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '10,$p'
+ 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
+ 11 # are included, only the more common ones.
+ 12 #
+ 13 # The latest IANA port assignments can be gotten from
+ 14 # http://www.iana.org/assignments/port-numbers
+ 15 # The Well Known Ports are those from 0 through 1023.
+ 16 # The Registered Ports are those from 1024 through 49151
+ 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
+ ...
+ ```
+
+ - Non visualizzare dalla riga 10 in poi
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '10,$!p'
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 4 # Network services, Internet style
+ 5 # IANA services version: last updated 2016-07-08
+ 6 #
+ 7 # Note that it is presently the policy of IANA to assign a single well-known
+ 8 # port number for both TCP and UDP; hence, most entries here have two entries
+ 9 # even if the protocol doesn't support UDP operations.
+ ```
+
+ - Visualizza il numero di riga e il contenuto della stringa corrispondente
+
+ ```bash
+ Shell > sed -n -e '/netbios/=' -e '/netbios/p' /etc/services
+ 123
+ netbios-ns 137/tcp # NETBIOS Name Service
+ 124
+ netbios-ns 137/udp
+ 125
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ 126
+ netbios-dgm 138/udp
+ 127
+ netbios-ssn 139/tcp # NETBIOS session service
+ 128
+ netbios-ssn 139/udp
+ ```
+
+ - Trova le corrispondenze nell'elenco delle stringhe e lo visualizza
+
+ Utilizzare la virgola per separare l'elenco delle stringhe di ricerca
+
+ ```bash
+ Shell > cat /etc/services | sed -n '/^netbios/,/^imap/p'
+ netbios-ns 137/tcp # NETBIOS Name Service
+ netbios-ns 137/udp
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ netbios-dgm 138/udp
+ netbios-ssn 139/tcp # NETBIOS session service
+ netbios-ssn 139/udp
+ imap 143/tcp imap2 # Interim Mail Access Proto v2
+ ```
+
+ !!! info "Informazione"
+
+ ```
+ **Stringa iniziale**: Abbina la riga in cui si trova la stringa, mostrando solo la prima stringa che compare.
+ **Stringa finale**: Abbina la riga in cui si trova la stringa, mostrando solo la prima stringa che compare.
+ ```
+
+ ```bash
+ Shell > grep -n ^netbios /etc/services
+ 123:netbios-ns 137/tcp # NETBIOS Name Service
+ 124:netbios-ns 137/udp
+ 125:netbios-dgm 138/tcp # NETBIOS Datagram Service
+ 126:netbios-dgm 138/udp
+ 127:netbios-ssn 139/tcp # NETBIOS session service
+ 128:netbios-ssn 139/udp
+
+ Shell > grep -n ^imap /etc/services
+ 129:imap 143/tcp imap2 # Interim Mail Access Proto v2
+ 130:imap 143/udp imap2
+ 168:imap3 220/tcp # Interactive Mail Access
+ 169:imap3 220/udp # Protocol v3
+ 260:imaps 993/tcp # IMAP over SSL
+ 261:imaps 993/udp # IMAP over SSL
+ ```
+
+ In altre parole, i contenuti sopra visualizzati sono le righe dalla 123 alla 129
+
+ - Visualizza dalla riga in cui si trova la stringa fino all'ultima riga
+
+ ```bash
+ Shell > cat /etc/services | sed -n '/^netbios/,$p'
+ ```
+
+ - Usare le variabili negli script bash
+
+ ```bash
+ Shell > vim test1.sh
+ #!/bin/bash
+ a=10
+
+ sed -n ''${a}',$!p' /etc/services
+ # or
+ sed -n "${a},\$!p" /etc/services
+ ```
+
+ - Espressione regolare
+
+ Abbina soltanto Tre "Digits" + "/udp".
+
+ ```bash
+ Shell > cat /etc/services | sed -r -n '/[^0-9]([1-9]{3}\/udp)/p'
+ sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP
+ auth 113/udp authentication tap ident
+ sftp 115/udp
+ uucp-path 117/udp
+ nntp 119/udp readnews untp # USENET News Transfer Protocol
+ ntp 123/udp # Network Time Protocol
+ netbios-ns 137/udp
+ netbios-dgm 138/udp
+ netbios-ssn 139/udp
+ ...
+ ```
2. Associa ed elimina (`d`)
- È simile alla stampa, tranne per il fatto che il comando operation è sostituito da `d` e l'opzione -n non è richiesta.
-
- - Elimina tutte le righe corrispondenti alla stringa udp, ed elimina tutte le righe di commento o vuote
-
- ```bash
- Shell > sed -e '/udp/d' -e '/^#/d' -e '/^$/d' /etc/services
- tcpmux 1/tcp # TCP port service multiplexer
- rje 5/tcp # Remote Job Entry
- echo 7/tcp
- discard 9/tcp sink null
- systat 11/tcp users
- daytime 13/tcp
- qotd 17/tcp quote
- chargen 19/tcp ttytst source
- ftp-data 20/tcp
- ftp 21/tcp
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- telnet 23/tcp
- ...
- ```
-
- - Elimina le righe successive a quella specificata
-
- ```bash
- Shell > cat -n /etc/services | sed '10,$d'
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 4 # Servizi di rete, stile di Internet
- 5 # Versione dei servizi di IANA: ultimo aggiornamento 2016-07-08
- 6 #
- 7 # Nota che al momento la politica di IANA assegna un singolo ben noto
- 8 # numero di porta sia per TCP che UDP; dunque, la maggior parte delle voci, qui, contiene due elementi
- 9 # anche se il protocollo non supporta le operazioni UDP.
- ```
-
- - Espressione regolare
-
- ```bash
- Shell > cat /etc/services | sed -r '/(tcp)|(udp)|(^#)|(^$)/d'
- http 80/sctp # HyperText Transfer Protocol
- bgp 179/sctp
- https 443/sctp # http protocol over TLS/SSL
- h323hostcall 1720/sctp # H.323 Call Control
- nfs 2049/sctp nfsd shilp # Network File System
- rtmp 1/ddp # Routing Table Maintenance Protocol
- nbp 2/ddp # Name Binding Protocol
- echo 4/ddp # AppleTalk Echo Protocol
- zip 6/ddp # Zone Information Protocol
- discard 9/sctp # Discard
- discard 9/dccp # Discard SC:DISC
- ...
- ```
+ È simile alla stampa, tranne per il fatto che il comando operation è sostituito da `d` e l'opzione -n non è richiesta.
+
+ - Elimina tutte le righe corrispondenti alla stringa udp, ed elimina tutte le righe di commento o vuote
+
+ ```bash
+ Shell > sed -e '/udp/d' -e '/^#/d' -e '/^$/d' /etc/services
+ tcpmux 1/tcp # TCP port service multiplexer
+ rje 5/tcp # Remote Job Entry
+ echo 7/tcp
+ discard 9/tcp sink null
+ systat 11/tcp users
+ daytime 13/tcp
+ qotd 17/tcp quote
+ chargen 19/tcp ttytst source
+ ftp-data 20/tcp
+ ftp 21/tcp
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ telnet 23/tcp
+ ...
+ ```
+
+ - Elimina le righe successive a quella specificata
+
+ ```bash
+ Shell > cat -n /etc/services | sed '10,$d'
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 4 # Servizi di rete, stile di Internet
+ 5 # Versione dei servizi di IANA: ultimo aggiornamento 2016-07-08
+ 6 #
+ 7 # Nota che al momento la politica di IANA assegna un singolo ben noto
+ 8 # numero di porta sia per TCP che UDP; dunque, la maggior parte delle voci, qui, contiene due elementi
+ 9 # anche se il protocollo non supporta le operazioni UDP.
+ ```
+
+ - Espressione regolare
+
+ ```bash
+ Shell > cat /etc/services | sed -r '/(tcp)|(udp)|(^#)|(^$)/d'
+ http 80/sctp # HyperText Transfer Protocol
+ bgp 179/sctp
+ https 443/sctp # http protocol over TLS/SSL
+ h323hostcall 1720/sctp # H.323 Call Control
+ nfs 2049/sctp nfsd shilp # Network File System
+ rtmp 1/ddp # Routing Table Maintenance Protocol
+ nbp 2/ddp # Name Binding Protocol
+ echo 4/ddp # AppleTalk Echo Protocol
+ zip 6/ddp # Zone Information Protocol
+ discard 9/sctp # Discard
+ discard 9/dccp # Discard SC:DISC
+ ...
+ ```
3. Sostituire stringhe (`s///g`)
- | Sintassi | Descrizione della sintassi |
- | :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- | `sed 's/string/replace/g' FILENAME` | **s**: Tutte le righe da considerare nel file. Si può anche specificare un intervallo di righe, ad esempio: `sed '20,200s/netbios/TMP/g' /etc/services. **g** (globale): Se non c'è g, significa che quando più stringhe corrispondenti appaiono su una singola riga, viene sostituita solo la prima stringa corrispondente. **/**: Stile delimitatore. Si possono anche specificare altri stili, ad esempio:`sed '20,200s?netbios?TMP?g' /etc/services\` |
-
- !!! tip "Suggerimento"
-
- ````
- Esempio nello script bash:
-
- ```bash
- Shell > vim /root/sedReplace.sh
- #!/bin/bash
- a="SELINUX=enforcing"
- b="SELINUX=disabled"
-
- sed -i 's/'${a}'/'${b}'/g' /etc/selinux/config
- # or
- sed -i "s/${a}/${b}/g" /etc/selinux/config
- ```
- ````
-
- - Sostituisci e visualizza
-
- ```bash
- Shell > sed -n '44,45s/ssh/SSH/gp' /etc/services
- SSH 22/tcp
- SSH 22/udp
- ```
-
- - Si utilizza il simbolo "&" come riferimento a una stringa
-
- ```bash
- Shell > sed -n '44,45s/ssh/&-SSH/gp' /etc/services
- ssh-SSH 22/tcp
- ssh-SSH 22/udp
- ```
-
- - Utilizza una stringa per individuare una o più righe e sostituire la stringa specificata entro l'intervallo di righe
-
- ```bash
- Shell > grep ssh /etc/services -n
- 44:ssh 22/tcp # The Secure Shell (SSH) Protocol
- 45:ssh 22/udp # The Secure Shell (SSH) Protocol
- 551:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset
- 593:ssh 22/sctp # SSH
- 1351:sshell 614/tcp # SSLshell
- 1352:sshell 614/udp # SSLshell
- 1607:netconf-ssh 830/tcp # NETCONF over SSH
- 1608:netconf-ssh 830/udp # NETCONF over SSH
- 7178:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH
- 7179:sdo-ssh 3897/udp # Simple Distributed Objects over SSH
- 7791:netconf-ch-ssh 4334/tcp # NETCONF Call Home (SSH)
- 8473:snmpssh 5161/tcp # SNMP over SSH Transport Model
- 8474:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model
- 9126:tl1-ssh 6252/tcp # TL1 over SSH
- 9127:tl1-ssh 6252/udp # TL1 over SSH
- 10796:ssh-mgmt 17235/tcp # SSH Tectia Manager
- 10797:ssh-mgmt 17235/udp # SSH Tectia Manager
-
- Shell > sed '/ssh/s/tcp/TCP/gp' -n /etc/services
- ssh 22/TCP # The Secure Shell (SSH) Protocol
- x11-ssh-offset 6010/TCP # SSH X11 forwarding offset
- sshell 614/TCP # SSLshell
- netconf-ssh 830/TCP # NETCONF over SSH
- sdo-ssh 3897/TCP # Simple Distributed Objects over SSH
- netconf-ch-ssh 4334/TCP # NETCONF Call Home (SSH)
- snmpssh 5161/TCP # SNMP over SSH Transport Model
- snmpssh-trap 5162/TCP # SNMP Notification over SSH Transport Model
- tl1-ssh 6252/TCP # TL1 over SSH
- ssh-mgmt 17235/TCP # SSH Tectia Manager
- ```
-
- - Sostituire una stringa per righe consecutive
-
- ```bash
- Shell > sed '10,30s/tcp/TCP/g' /etc/services
- ```
-
- - Impostare più match e sostituzioni
-
- ```bash
- Shell > cat /etc/services | sed 's/netbios/test1/g ; s/^#//d ; s/dhcp/&t2/g'
- ```
-
- - Sostituzione di gruppo con espressioni regolari
-
- Nelle espressioni regolari, ogni "()" è un raggruppamento. \1 rappresenta il riferimento al gruppo 1, \2 rappresenta il riferimento al gruppo 2, e così via.
-
- ```bash
- Shell > cat /etc/services
- ...
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > cat /etc/services | sed -r 's/([0-9]*\/tcp)/\1\tCONTENT1/g ; s/([0-9]*\/udp)/\1\tADD2/g'
- ...
- axio-disc 35100/tcp CONTENT1 # Axiomatic discovery protocol
- axio-disc 35100/udp ADD2 # Axiomatic discovery protocol
- pmwebapi 44323/tcp CONTENT1 # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp ADD2 # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp CONTENT1 # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp CONTENT1 # Capture handwritten signatures
- ```
-
- **\t**: è il carattere di tabulazione
-
- - Sostituisce tutte le righe di commento con il carattere blank space
-
- ```bash
- Shell > cat /etc/services | sed -r 's/(^#.*)//g'
- ...
- chargen 19/udp ttytst source
- ftp-data 20/tcp
- ftp-data 20/udp
-
- ftp 21/tcp
- ftp 21/udp fsp fspd
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- ssh 22/udp # The Secure Shell (SSH) Protocol
- ...
- ```
-
- - Sostituire un carattere alfabetico in minuscolo in maiuscolo
-
- ```bash
- Shell > echo -e "hello,world\nPOSIX" | sed -r 's/(.*)w/\1W/g'
- hello,World
- POSIX
- ```
-
- - Scambiare di posizione le stringhe
-
- ```bash
- Shell > cat /etc/services
- ...
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- Possiamo strutturare le righe del file in cinque parti:
-
- ```txt
- cloudcheck-ping 45514 / udp # ASSIA CloudCheck WiFi Management keepalive
- ↓ ↓ ↓ ↓ ↓
- (.*) (\<[0-9]+\>) \/ (tcp|udp) (.*)
- ↓ ↓ ↓ ↓
- \1 \2 \3 \4
- ```
-
- ```bash
- Shell > cat /etc/services | sed -r 's/(.*)(\<[0-9]+\>)\/(tcp|udp)(.*)/\1\3\/\2\4/g'
- ...
- edi_service udp/34567 # dhanalakshmi.org EDI Service
- axio-disc tcp/35100 # Axiomatic discovery protocol
- axio-disc udp/35100 # Axiomatic discovery protocol
- pmwebapi tcp/44323 # Performance Co-Pilot client HTTP API
- cloudcheck-ping udp/45514 # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck tcp/45514 # ASSIA CloudCheck WiFi Management System
- spremotetablet tcp/46998 # Capture handwritten signatures
- ```
-
- - Rimuovere tutti i spazi
-
- ```bash
- Shell > echo -e "abcd\t1 2 3 4\tWorld"
- abcd 1 2 3 4 World
- Shell > echo -e "abcd\t1 2 3 4\tWorld" | sed -r 's/(\s)*//g'
- abcd1234World
- ```
+ | Sintassi | Descrizione della sintassi |
+ | :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+ | `sed 's/string/replace/g' FILENAME` | **s**: Tutte le righe da considerare nel file. Si può anche specificare un intervallo di righe, ad esempio: `sed '20,200s/netbios/TMP/g' /etc/services. **g** (globale): Se non c'è g, significa che quando più stringhe corrispondenti appaiono su una singola riga, viene sostituita solo la prima stringa corrispondente. **/**: Stile delimitatore. Si possono anche specificare altri stili, ad esempio:`sed '20,200s?netbios?TMP?g' /etc/services\` |
+
+ !!! tip "Suggerimento"
+
+ ````
+ Esempio nello script bash:
+
+ ```bash
+ Shell > vim /root/sedReplace.sh
+ #!/bin/bash
+ a="SELINUX=enforcing"
+ b="SELINUX=disabled"
+
+ sed -i 's/'${a}'/'${b}'/g' /etc/selinux/config
+ # or
+ sed -i "s/${a}/${b}/g" /etc/selinux/config
+ ```
+ ````
+
+ - Sostituisci e visualizza
+
+ ```bash
+ Shell > sed -n '44,45s/ssh/SSH/gp' /etc/services
+ SSH 22/tcp
+ SSH 22/udp
+ ```
+
+ - Si utilizza il simbolo "&" come riferimento a una stringa
+
+ ```bash
+ Shell > sed -n '44,45s/ssh/&-SSH/gp' /etc/services
+ ssh-SSH 22/tcp
+ ssh-SSH 22/udp
+ ```
+
+ - Utilizza una stringa per individuare una o più righe e sostituire la stringa specificata entro l'intervallo di righe
+
+ ```bash
+ Shell > grep ssh /etc/services -n
+ 44:ssh 22/tcp # The Secure Shell (SSH) Protocol
+ 45:ssh 22/udp # The Secure Shell (SSH) Protocol
+ 551:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset
+ 593:ssh 22/sctp # SSH
+ 1351:sshell 614/tcp # SSLshell
+ 1352:sshell 614/udp # SSLshell
+ 1607:netconf-ssh 830/tcp # NETCONF over SSH
+ 1608:netconf-ssh 830/udp # NETCONF over SSH
+ 7178:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH
+ 7179:sdo-ssh 3897/udp # Simple Distributed Objects over SSH
+ 7791:netconf-ch-ssh 4334/tcp # NETCONF Call Home (SSH)
+ 8473:snmpssh 5161/tcp # SNMP over SSH Transport Model
+ 8474:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model
+ 9126:tl1-ssh 6252/tcp # TL1 over SSH
+ 9127:tl1-ssh 6252/udp # TL1 over SSH
+ 10796:ssh-mgmt 17235/tcp # SSH Tectia Manager
+ 10797:ssh-mgmt 17235/udp # SSH Tectia Manager
+
+ Shell > sed '/ssh/s/tcp/TCP/gp' -n /etc/services
+ ssh 22/TCP # The Secure Shell (SSH) Protocol
+ x11-ssh-offset 6010/TCP # SSH X11 forwarding offset
+ sshell 614/TCP # SSLshell
+ netconf-ssh 830/TCP # NETCONF over SSH
+ sdo-ssh 3897/TCP # Simple Distributed Objects over SSH
+ netconf-ch-ssh 4334/TCP # NETCONF Call Home (SSH)
+ snmpssh 5161/TCP # SNMP over SSH Transport Model
+ snmpssh-trap 5162/TCP # SNMP Notification over SSH Transport Model
+ tl1-ssh 6252/TCP # TL1 over SSH
+ ssh-mgmt 17235/TCP # SSH Tectia Manager
+ ```
+
+ - Sostituire una stringa per righe consecutive
+
+ ```bash
+ Shell > sed '10,30s/tcp/TCP/g' /etc/services
+ ```
+
+ - Impostare più match e sostituzioni
+
+ ```bash
+ Shell > cat /etc/services | sed 's/netbios/test1/g ; s/^#//d ; s/dhcp/&t2/g'
+ ```
+
+ - Sostituzione di gruppo con espressioni regolari
+
+ Nelle espressioni regolari, ogni "()" è un raggruppamento. \1 rappresenta il riferimento al gruppo 1, \2 rappresenta il riferimento al gruppo 2, e così via.
+
+ ```bash
+ Shell > cat /etc/services
+ ...
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > cat /etc/services | sed -r 's/([0-9]*\/tcp)/\1\tCONTENT1/g ; s/([0-9]*\/udp)/\1\tADD2/g'
+ ...
+ axio-disc 35100/tcp CONTENT1 # Axiomatic discovery protocol
+ axio-disc 35100/udp ADD2 # Axiomatic discovery protocol
+ pmwebapi 44323/tcp CONTENT1 # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp ADD2 # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp CONTENT1 # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp CONTENT1 # Capture handwritten signatures
+ ```
+
+ **\t**: è il carattere di tabulazione
+
+ - Sostituisce tutte le righe di commento con il carattere blank space
+
+ ```bash
+ Shell > cat /etc/services | sed -r 's/(^#.*)//g'
+ ...
+ chargen 19/udp ttytst source
+ ftp-data 20/tcp
+ ftp-data 20/udp
+
+ ftp 21/tcp
+ ftp 21/udp fsp fspd
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ ssh 22/udp # The Secure Shell (SSH) Protocol
+ ...
+ ```
+
+ - Sostituire un carattere alfabetico in minuscolo in maiuscolo
+
+ ```bash
+ Shell > echo -e "hello,world\nPOSIX" | sed -r 's/(.*)w/\1W/g'
+ hello,World
+ POSIX
+ ```
+
+ - Scambiare di posizione le stringhe
+
+ ```bash
+ Shell > cat /etc/services
+ ...
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ Possiamo strutturare le righe del file in cinque parti:
+
+ ```txt
+ cloudcheck-ping 45514 / udp # ASSIA CloudCheck WiFi Management keepalive
+ ↓ ↓ ↓ ↓ ↓
+ (.*) (\<[0-9]+\>) \/ (tcp|udp) (.*)
+ ↓ ↓ ↓ ↓
+ \1 \2 \3 \4
+ ```
+
+ ```bash
+ Shell > cat /etc/services | sed -r 's/(.*)(\<[0-9]+\>)\/(tcp|udp)(.*)/\1\3\/\2\4/g'
+ ...
+ edi_service udp/34567 # dhanalakshmi.org EDI Service
+ axio-disc tcp/35100 # Axiomatic discovery protocol
+ axio-disc udp/35100 # Axiomatic discovery protocol
+ pmwebapi tcp/44323 # Performance Co-Pilot client HTTP API
+ cloudcheck-ping udp/45514 # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck tcp/45514 # ASSIA CloudCheck WiFi Management System
+ spremotetablet tcp/46998 # Capture handwritten signatures
+ ```
+
+ - Rimuovere tutti i spazi
+
+ ```bash
+ Shell > echo -e "abcd\t1 2 3 4\tWorld"
+ abcd 1 2 3 4 World
+ Shell > echo -e "abcd\t1 2 3 4\tWorld" | sed -r 's/(\s)*//g'
+ abcd1234World
+ ```
4. Eseguire più volte seq utilizzando l'opzione -e
- Nell'esempio seguente:
-
- ```bash
- Shell > tail -n 10 /etc/services
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > tail -n 10 /etc/services | sed -e '1,3d' -e '/cloud/s/ping/PING/g'
- # or
- Shell > tail -n 10 /etc/services | sed '1,3d ; /cloud/s/ping/PING/g'
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-PING 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
-5. Aggiungere contenuti sopra o sotto una certa riga (`i` e `a`)
-
- - Aggiungi due righe sopra la riga specificata dal numero di riga
+ Nell'esempio seguente:
```bash
- Shell > tail -n 10 /etc/services > /root/test.txt
- Shell > cat /root/test.txt
+ Shell > tail -n 10 /etc/services
aigairserver 21221/tcp # Services for Air Server
ka-kdp 31016/udp # Kollective Agent Kollective Delivery
ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
@@ -519,318 +489,348 @@ sed [OPTION]... {script-only-if-no-other-script} [input-file]...
cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
spremotetablet 46998/tcp # Capture handwritten signatures
- Shell > cat /root/test.txt | sed '3i 123\
- abc'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- 123
- abc
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ Shell > tail -n 10 /etc/services | sed -e '1,3d' -e '/cloud/s/ping/PING/g'
+ # or
+ Shell > tail -n 10 /etc/services | sed '1,3d ; /cloud/s/ping/PING/g'
edi_service 34567/udp # dhanalakshmi.org EDI Service
axio-disc 35100/tcp # Axiomatic discovery protocol
axio-disc 35100/udp # Axiomatic discovery protocol
pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck-PING 45514/udp # ASSIA CloudCheck WiFi Management keepalive
cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
spremotetablet 46998/tcp # Capture handwritten signatures
```
- - Aggiungere tre righe sotto la riga specificata dal numero
-
- ```bash
- Shell > cat /root/test.txt | sed '5a 123\
- comment yes\
- tcp or udp'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- 123
- comment yes
- tcp or udp
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- - Trovare le righe che contengono una stringa e aggiungere 2 righe di testo sopra ognuna
+5. Aggiungere contenuti sopra o sotto una certa riga (`i` e `a`)
- ```bash
- Shell > cat /root/test.txt | sed '/tcp/iTCP\
- UDP'
- TCP
- UDP
+ - Aggiungi due righe sopra la riga specificata dal numero di riga
+
+ ```bash
+ Shell > tail -n 10 /etc/services > /root/test.txt
+ Shell > cat /root/test.txt
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > cat /root/test.txt | sed '3i 123\
+ abc'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ 123
+ abc
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Aggiungere tre righe sotto la riga specificata dal numero
+
+ ```bash
+ Shell > cat /root/test.txt | sed '5a 123\
+ comment yes\
+ tcp or udp'
aigairserver 21221/tcp # Services for Air Server
ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- TCP
- UDP
ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
edi_service 34567/udp # dhanalakshmi.org EDI Service
- TCP
- UDP
axio-disc 35100/tcp # Axiomatic discovery protocol
+ 123
+ comment yes
+ tcp or udp
axio-disc 35100/udp # Axiomatic discovery protocol
- TCP
- UDP
pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- TCP
- UDP
cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- TCP
- UDP
spremotetablet 46998/tcp # Capture handwritten signatures
```
-6. Sostituire righe (\`c)
+ - Trovare le righe che contengono una stringa e aggiungere 2 righe di testo sopra ognuna
+
+ ```bash
+ Shell > cat /root/test.txt | sed '/tcp/iTCP\
+ UDP'
+ TCP
+ UDP
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ TCP
+ UDP
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ TCP
+ UDP
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ TCP
+ UDP
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ TCP
+ UDP
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ TCP
+ UDP
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
- - Individua una o più righe contenenti una stringa e sostituire con righe di testo
+6. Sostituire righe (\`c)
- ```bash
- Shell > cat /root/test.txt | sed '/ser/c\TMP1 \
- TMP2'
- TMP1
- TMP2
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- TMP1
- TMP2
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
+ - Individua una o più righe contenenti una stringa e sostituire con righe di testo
+
+ ```bash
+ Shell > cat /root/test.txt | sed '/ser/c\TMP1 \
+ TMP2'
+ TMP1
+ TMP2
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ TMP1
+ TMP2
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Sostituire una singola riga
+
+ ```bash
+ Shell > cat /root/test.txt | sed '7c REPLACE'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ REPLACE
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Sostituire righe consecutive di testo
+
+ ```bash
+ Shell > cat /root/test.txt | sed '2,$c REPLACE1 \
+ replace2'
+ aigairserver 21221/tcp # Services for Air Server
+ REPLACE1
+ replace2
+ ```
+
+ - Sostituire tutte le righe di posizione pari
+
+ ```bash
+ Shell > cat /root/test.txt | sed '2~2c replace'
+ aigairserver 21221/tcp # Services for Air Server
+ replace
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ replace
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ replace
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ replace
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ replace
+ ```
- - Sostituire una singola riga
+7. Leggere le righe del file e aggiungere del testo sotto la riga corrispondente (`r`)
```bash
- Shell > cat /root/test.txt | sed '7c REPLACE'
+ Shell > cat /root/app.txt
+ append1
+ POSIX
+ UNIX
+
+ Shell > cat /root/test.txt | sed '/ping/r /root/app.txt'
aigairserver 21221/tcp # Services for Air Server
ka-kdp 31016/udp # Kollective Agent Kollective Delivery
ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
edi_service 34567/udp # dhanalakshmi.org EDI Service
axio-disc 35100/tcp # Axiomatic discovery protocol
axio-disc 35100/udp # Axiomatic discovery protocol
- REPLACE
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ append1
+ POSIX
+ UNIX
cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
spremotetablet 46998/tcp # Capture handwritten signatures
```
- - Sostituire righe consecutive di testo
-
- ```bash
- Shell > cat /root/test.txt | sed '2,$c REPLACE1 \
- replace2'
- aigairserver 21221/tcp # Services for Air Server
- REPLACE1
- replace2
- ```
-
- - Sostituire tutte le righe di posizione pari
-
- ```bash
- Shell > cat /root/test.txt | sed '2~2c replace'
- aigairserver 21221/tcp # Services for Air Server
- replace
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- replace
- axio-disc 35100/tcp # Axiomatic discovery protocol
- replace
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- replace
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- replace
- ```
-
-7. Leggere le righe del file e aggiungere del testo sotto la riga corrispondente (`r`)
-
- ```bash
- Shell > cat /root/app.txt
- append1
- POSIX
- UNIX
-
- Shell > cat /root/test.txt | sed '/ping/r /root/app.txt'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- append1
- POSIX
- UNIX
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
8. Trascrivere le righe con un match in un altro file (`w`)
- ```bash
- Shell > cat /root/test.txt | sed '/axio/w /root/storage.txt'
-
- Shell > cat /root/storage.txt
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- ```
-
-9. Leggere/aggiungere la riga successiva di input nel "pattern space"(`n` e `N`)
-
- - Visualizza la riga successiva alla riga trovata
-
```bash
- Shell > cat /root/test.txt
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
+ Shell > cat /root/test.txt | sed '/axio/w /root/storage.txt'
+
+ Shell > cat /root/storage.txt
axio-disc 35100/tcp # Axiomatic discovery protocol
axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > cat /root/test.txt | sed '/ping/{n;p}' -n
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
```
- !!! tip "Suggerimento"
-
- ```
- Più comandi `sed` potrebbero influenzarsi a vicenda, per ridurre questa eventualità utilizzare "**{ }**".
- ```
-
- - Visualizzare righe di testo pari
+9. Leggere/aggiungere la riga successiva di input nel "pattern space"(`n` e `N`)
- Prima, legge la prima riga, essendo presente un comando `n`, la seconda riga sarà visualizzata, e così via.
+ - Visualizza la riga successiva alla riga trovata
+
+ ```bash
+ Shell > cat /root/test.txt
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > cat /root/test.txt | sed '/ping/{n;p}' -n
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
+
+ !!! tip "Suggerimento"
+
+ ```
+ Più comandi `sed` potrebbero influenzarsi a vicenda, per ridurre questa eventualità utilizzare "**{ }**".
+ ```
+
+ - Visualizzare righe di testo pari
+
+ Prima, legge la prima riga, essendo presente un comando `n`, la seconda riga sarà visualizzata, e così via.
+
+ ```bash
+ Shell > cat -n /root/test.txt | sed -n '{n;p}'
+ # or
+ Shell > cat -n /root/test.txt | sed -n '2~2p'
+ 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ 4 edi_service 34567/udp # dhanalakshmi.org EDI Service
+ 6 axio-disc 35100/udp # Axiomatic discovery protocol
+ 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ 10 spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Visualizza righe di testo dispari
+
+ ```bash
+ Shell > cat -n /root/test.txt | sed -n '{p;n}'
+ # or
+ Shell > cat -n /root/test.txt | sed -n '1~2p'
+ # or
+ Shell > cat -n /root/test.txt | sed 'n;d'
+ 1 aigairserver 21221/tcp # Services for Air Server
+ 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ 5 axio-disc 35100/tcp # Axiomatic discovery protocol
+ 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
+
+ - Visualizza le righe multiple di 3
+
+ ```bash
+ Shell > cat -n /root/test.txt | sed -n '{n;n;p}'
+ # or
+ Shell > cat -n /root/test.txt | sed -n '3~3p'
+ 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ 6 axio-disc 35100/udp # Axiomatic discovery protocol
+ 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
+
+ - `N`
+
+ Legge la prima riga e aggiungi una riga dopo aver incontrato il comando `N`. In questo esempio, il "pattern space" è "1\n2". Infine, esegue il comando `q` per uscire.
+
+ ```bash
+ Shell > seq 1 10 | sed 'N;q'
+ 1
+ 2
+ ```
+
+ Poiché non è presente alcuna riga dopo la riga 9, il risultato sarà il seguente:
+
+ ```bash
+ Shell > seq 1 9 | sed -n 'N;p'
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ ```
+
+ Quando l'ultima riga viene letta, il comando `N` non viene eseguito e il risultato è il seguente:
+
+ ```bash
+ Shell > seq 1 9 | sed -n '$!N;p'
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ ```
+
+ Unire due righe in una. Sostituisce "\n" del "pattern space" con un carattere vuoto.
+
+ ```bash
+ Shell > seq 1 6 | sed 'N;{s/\n//g}'
+ 12
+ 34
+ 56
+ ```
- ```bash
- Shell > cat -n /root/test.txt | sed -n '{n;p}'
- # or
- Shell > cat -n /root/test.txt | sed -n '2~2p'
- 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- 4 edi_service 34567/udp # dhanalakshmi.org EDI Service
- 6 axio-disc 35100/udp # Axiomatic discovery protocol
- 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- 10 spremotetablet 46998/tcp # Capture handwritten signatures
- ```
+10. Ignorare un caso (`I`)
- - Visualizza righe di testo dispari
+ Sembra non esser presente alcuna informazione in merito all'ignorare casi in `man 1 sed`.
```bash
- Shell > cat -n /root/test.txt | sed -n '{p;n}'
- # or
- Shell > cat -n /root/test.txt | sed -n '1~2p'
- # or
- Shell > cat -n /root/test.txt | sed 'n;d'
- 1 aigairserver 21221/tcp # Services for Air Server
- 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- 5 axio-disc 35100/tcp # Axiomatic discovery protocol
- 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ Shell > echo -e "abc\nAbc" | sed -n 's/a/X/Igp'
+ Xbc
+ XBC
```
- - Visualizza le righe multiple di 3
-
```bash
- Shell > cat -n /root/test.txt | sed -n '{n;n;p}'
- # or
- Shell > cat -n /root/test.txt | sed -n '3~3p'
- 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- 6 axio-disc 35100/udp # Axiomatic discovery protocol
- 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ Shell > cat /etc/services | sed '/OEM/Ip' -n
+ oem-agent 3872/tcp # OEM Agent
+ oem-agent 3872/udp # OEM Agent
+ oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting access point
+ oemcacao-rmi 11174/tcp # OEM cacao rmi registry access point
+ oemcacao-websvc 11175/tcp # OEM cacao web service access point
```
- - `N`
-
- Legge la prima riga e aggiungi una riga dopo aver incontrato il comando `N`. In questo esempio, il "pattern space" è "1\n2". Infine, esegue il comando `q` per uscire.
-
```bash
- Shell > seq 1 10 | sed 'N;q'
- 1
- 2
+ Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Id'
```
- Poiché non è presente alcuna riga dopo la riga 9, il risultato sarà il seguente:
-
```bash
- Shell > seq 1 9 | sed -n 'N;p'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
+ Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Ic TMP'
```
- Quando l'ultima riga viene letta, il comando `N` non viene eseguito e il risultato è il seguente:
+11. Calcola il numero totale di righe in un file
```bash
- Shell > seq 1 9 | sed -n '$!N;p'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- ```
-
- Unire due righe in una. Sostituisce "\n" del "pattern space" con un carattere vuoto.
+ Shell > cat /etc/services | sed -n '$='
+ # or
+ Shell > cat /etc/services | wc -l
- ```bash
- Shell > seq 1 6 | sed 'N;{s/\n//g}'
- 12
- 34
- 56
+ 11473
```
-
-10. Ignorare un caso (`I`)
-
- Sembra non esser presente alcuna informazione in merito all'ignorare casi in `man 1 sed`.
-
- ```bash
- Shell > echo -e "abc\nAbc" | sed -n 's/a/X/Igp'
- Xbc
- XBC
- ```
-
- ```bash
- Shell > cat /etc/services | sed '/OEM/Ip' -n
- oem-agent 3872/tcp # OEM Agent
- oem-agent 3872/udp # OEM Agent
- oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting access point
- oemcacao-rmi 11174/tcp # OEM cacao rmi registry access point
- oemcacao-websvc 11175/tcp # OEM cacao web service access point
- ```
-
- ```bash
- Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Id'
- ```
-
- ```bash
- Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Ic TMP'
- ```
-
-11. Calcola il numero totale di righe in un file
-
- ```bash
- Shell > cat /etc/services | sed -n '$='
- # or
- Shell > cat /etc/services | wc -l
-
- 11473
- ```
diff --git a/docs/books/sed_awk_grep/3_sed_command.uk.md b/docs/books/sed_awk_grep/3_sed_command.uk.md
index 1726827043..2d0bf46f36 100644
--- a/docs/books/sed_awk_grep/3_sed_command.uk.md
+++ b/docs/books/sed_awk_grep/3_sed_command.uk.md
@@ -1,7 +1,7 @@
---
title: Команда Sed
author: tianci li
-contributors: null
+contributors:
tags:
- sed
---
@@ -68,446 +68,416 @@ sed [OPTION]... {script-only-if-no-other-script} [input-file]...
1. Зіставлення та друк (`p`)
- - Надрукуйте рядок, який починається з рядка NetBIOS
-
- ```bash
- Shell > cat /etc/services | sed -n '/^netbios/p'
- netbios-ns 137/tcp # NETBIOS Name Service
- netbios-ns 137/udp
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- netbios-dgm 138/udp
- netbios-ssn 139/tcp # NETBIOS session service
- netbios-ssn 139/udp
- ```
-
- !!! tip "Підказка"
-
- ```
- Як ми всі знаємо, подвійні та одинарні лапки в оболонці відіграють різну роль. **$**, **\`** і **\\** у подвійних лапках мають особливе значення. Рекомендовано використовувати одинарні лапки частіше під час використання команди `sed`.
- ```
-
- - Вивести текст з 23 по 26 рядки
-
- ```bash
- Shell > cat -n /etc/services | sed -n '23,26p'
- 23 tcpmux 1/tcp # TCP port service multiplexer
- 24 tcpmux 1/udp # TCP port service multiplexer
- 25 rje 5/tcp # Remote Job Entry
- 26 rje 5/udp # Remote Job Entry
- ```
-
- - Друкувати непарні рядки
-
- ```bash
- Shell > cat -n /etc/services | sed -n '1~2p'
- 1 # /etc/services:
- 3 #
- 5 # IANA services version: last updated 2016-07-08
- 7 # Note that it is presently the policy of IANA to assign a single well-known
- 9 # even if the protocol doesn't support UDP operations.
- 11 # are included, only the more common ones.
- 13 # The latest IANA port assignments can be gotten from
- 15 # The Well Known Ports are those from 0 through 1023.
- 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
- 19 # Each line describes one service, and is of the form:
- ...
- ```
-
- - Вивести рядок 10 до останнього рядка
-
- ```bash
- Shell > cat -n /etc/services | sed -n '10,$p'
- 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
- 11 # are included, only the more common ones.
- 12 #
- 13 # The latest IANA port assignments can be gotten from
- 14 # http://www.iana.org/assignments/port-numbers
- 15 # The Well Known Ports are those from 0 through 1023.
- 16 # The Registered Ports are those from 1024 through 49151
- 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
- ...
- ```
-
- - Рядки з 10 до останнього не друкувати
-
- ```bash
- Shell > cat -n /etc/services | sed -n '10,$!p'
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 4 # Network services, Internet style
- 5 # IANA services version: last updated 2016-07-08
- 6 #
- 7 # Note that it is presently the policy of IANA to assign a single well-known
- 8 # port number for both TCP and UDP; hence, most entries here have two entries
- 9 # even if the protocol doesn't support UDP operations.
- ```
-
- - Надрукуйте номер рядка та вміст відповідного рядка
-
- ```bash
- Shell > sed -n -e '/netbios/=' -e '/netbios/p' /etc/services
- 123
- netbios-ns 137/tcp # NETBIOS Name Service
- 124
- netbios-ns 137/udp
- 125
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- 126
- netbios-dgm 138/udp
- 127
- netbios-ssn 139/tcp # NETBIOS session service
- 128
- netbios-ssn 139/udp
- ```
-
- - Зіставте діапазон рядків і надрукуйте його
-
- Використовуйте коми для розділення діапазонів рядків
-
- ```bash
- Shell > cat /etc/services | sed -n '/^netbios/,/^imap/p'
- netbios-ns 137/tcp # NETBIOS Name Service
- netbios-ns 137/udp
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- netbios-dgm 138/udp
- netbios-ssn 139/tcp # NETBIOS session service
- netbios-ssn 139/udp
- imap 143/tcp imap2 # Interim Mail Access Proto v2
- ```
-
- !!! info "примітка"
-
- ```
- **Початок діапазону**: відповідність рядку, де розташований рядок, лише збігання з першим рядком, який з’являється.
- **Кінець діапазону**: збігається з рядком, у якому розташований рядок, лише з першим рядком, який з’являється.
- ```
-
- ```bash
- Shell > grep -n ^netbios /etc/services
- 123:netbios-ns 137/tcp # NETBIOS Name Service
- 124:netbios-ns 137/udp
- 125:netbios-dgm 138/tcp # NETBIOS Datagram Service
- 126:netbios-dgm 138/udp
- 127:netbios-ssn 139/tcp # NETBIOS session service
- 128:netbios-ssn 139/udp
-
- Shell > grep -n ^imap /etc/services
- 129:imap 143/tcp imap2 # Interim Mail Access Proto v2
- 130:imap 143/udp imap2
- 168:imap3 220/tcp # Interactive Mail Access
- 169:imap3 220/udp # Protocol v3
- 260:imaps 993/tcp # IMAP over SSL
- 261:imaps 993/udp # IMAP over SSL
- ```
-
- Іншими словами, вміст, надрукований вище, це рядки з 123 по 129
-
- - Надрукуйте рядок, де знаходиться рядок, і до останнього рядка
-
- ```bash
- Shell > cat /etc/services | sed -n '/^netbios/,$p'
- ```
-
- - Використання змінних у сценаріях bash
-
- ```bash
- Shell > vim test1.sh
- #!/bin/bash
- a=10
-
- sed -n ''${a}',$!p' /etc/services
- # or
- sed -n "${a},\$!p" /etc/services
- ```
-
- - Регулярний вираз
-
- Відповідає лише "Три цифри" + "/udp".
-
- ```bash
- Shell > cat /etc/services | sed -r -n '/[^0-9]([1-9]{3}\/udp)/p'
- sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP
- auth 113/udp authentication tap ident
- sftp 115/udp
- uucp-path 117/udp
- nntp 119/udp readnews untp # USENET News Transfer Protocol
- ntp 123/udp # Network Time Protocol
- netbios-ns 137/udp
- netbios-dgm 138/udp
- netbios-ssn 139/udp
- ...
- ```
+ - Надрукуйте рядок, який починається з рядка NetBIOS
+
+ ```bash
+ Shell > cat /etc/services | sed -n '/^netbios/p'
+ netbios-ns 137/tcp # NETBIOS Name Service
+ netbios-ns 137/udp
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ netbios-dgm 138/udp
+ netbios-ssn 139/tcp # NETBIOS session service
+ netbios-ssn 139/udp
+ ```
+
+ !!! tip "Підказка"
+
+ ```
+ Як ми всі знаємо, подвійні та одинарні лапки в оболонці відіграють різну роль. **$**, **\`** і **\\** у подвійних лапках мають особливе значення. Рекомендовано використовувати одинарні лапки частіше під час використання команди `sed`.
+ ```
+
+ - Вивести текст з 23 по 26 рядки
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '23,26p'
+ 23 tcpmux 1/tcp # TCP port service multiplexer
+ 24 tcpmux 1/udp # TCP port service multiplexer
+ 25 rje 5/tcp # Remote Job Entry
+ 26 rje 5/udp # Remote Job Entry
+ ```
+
+ - Друкувати непарні рядки
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '1~2p'
+ 1 # /etc/services:
+ 3 #
+ 5 # IANA services version: last updated 2016-07-08
+ 7 # Note that it is presently the policy of IANA to assign a single well-known
+ 9 # even if the protocol doesn't support UDP operations.
+ 11 # are included, only the more common ones.
+ 13 # The latest IANA port assignments can be gotten from
+ 15 # The Well Known Ports are those from 0 through 1023.
+ 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
+ 19 # Each line describes one service, and is of the form:
+ ...
+ ```
+
+ - Вивести рядок 10 до останнього рядка
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '10,$p'
+ 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
+ 11 # are included, only the more common ones.
+ 12 #
+ 13 # The latest IANA port assignments can be gotten from
+ 14 # http://www.iana.org/assignments/port-numbers
+ 15 # The Well Known Ports are those from 0 through 1023.
+ 16 # The Registered Ports are those from 1024 through 49151
+ 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
+ ...
+ ```
+
+ - Рядки з 10 до останнього не друкувати
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '10,$!p'
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 4 # Network services, Internet style
+ 5 # IANA services version: last updated 2016-07-08
+ 6 #
+ 7 # Note that it is presently the policy of IANA to assign a single well-known
+ 8 # port number for both TCP and UDP; hence, most entries here have two entries
+ 9 # even if the protocol doesn't support UDP operations.
+ ```
+
+ - Надрукуйте номер рядка та вміст відповідного рядка
+
+ ```bash
+ Shell > sed -n -e '/netbios/=' -e '/netbios/p' /etc/services
+ 123
+ netbios-ns 137/tcp # NETBIOS Name Service
+ 124
+ netbios-ns 137/udp
+ 125
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ 126
+ netbios-dgm 138/udp
+ 127
+ netbios-ssn 139/tcp # NETBIOS session service
+ 128
+ netbios-ssn 139/udp
+ ```
+
+ - Зіставте діапазон рядків і надрукуйте його
+
+ Використовуйте коми для розділення діапазонів рядків
+
+ ```bash
+ Shell > cat /etc/services | sed -n '/^netbios/,/^imap/p'
+ netbios-ns 137/tcp # NETBIOS Name Service
+ netbios-ns 137/udp
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ netbios-dgm 138/udp
+ netbios-ssn 139/tcp # NETBIOS session service
+ netbios-ssn 139/udp
+ imap 143/tcp imap2 # Interim Mail Access Proto v2
+ ```
+
+ !!! info "примітка"
+
+ ```
+ **Початок діапазону**: відповідність рядку, де розташований рядок, лише збігання з першим рядком, який з’являється.
+ **Кінець діапазону**: збігається з рядком, у якому розташований рядок, лише з першим рядком, який з’являється.
+ ```
+
+ ```bash
+ Shell > grep -n ^netbios /etc/services
+ 123:netbios-ns 137/tcp # NETBIOS Name Service
+ 124:netbios-ns 137/udp
+ 125:netbios-dgm 138/tcp # NETBIOS Datagram Service
+ 126:netbios-dgm 138/udp
+ 127:netbios-ssn 139/tcp # NETBIOS session service
+ 128:netbios-ssn 139/udp
+
+ Shell > grep -n ^imap /etc/services
+ 129:imap 143/tcp imap2 # Interim Mail Access Proto v2
+ 130:imap 143/udp imap2
+ 168:imap3 220/tcp # Interactive Mail Access
+ 169:imap3 220/udp # Protocol v3
+ 260:imaps 993/tcp # IMAP over SSL
+ 261:imaps 993/udp # IMAP over SSL
+ ```
+
+ Іншими словами, вміст, надрукований вище, це рядки з 123 по 129
+
+ - Надрукуйте рядок, де знаходиться рядок, і до останнього рядка
+
+ ```bash
+ Shell > cat /etc/services | sed -n '/^netbios/,$p'
+ ```
+
+ - Використання змінних у сценаріях bash
+
+ ```bash
+ Shell > vim test1.sh
+ #!/bin/bash
+ a=10
+
+ sed -n ''${a}',$!p' /etc/services
+ # or
+ sed -n "${a},\$!p" /etc/services
+ ```
+
+ - Регулярний вираз
+
+ Відповідає лише "Три цифри" + "/udp".
+
+ ```bash
+ Shell > cat /etc/services | sed -r -n '/[^0-9]([1-9]{3}\/udp)/p'
+ sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP
+ auth 113/udp authentication tap ident
+ sftp 115/udp
+ uucp-path 117/udp
+ nntp 119/udp readnews untp # USENET News Transfer Protocol
+ ntp 123/udp # Network Time Protocol
+ netbios-ns 137/udp
+ netbios-dgm 138/udp
+ netbios-ssn 139/udp
+ ...
+ ```
2. Зіставити та видалити (`d`)
- Це схоже на друк, за винятком того, що команду операції замінено на `d`, а параметр -n не потрібен.
-
- - Видалити всі рядки, які відповідають рядку udp, видалити всі рядки коментарів і видалити всі порожні рядки
-
- ```bash
- Shell > sed -e '/udp/d' -e '/^#/d' -e '/^$/d' /etc/services
- tcpmux 1/tcp # TCP port service multiplexer
- rje 5/tcp # Remote Job Entry
- echo 7/tcp
- discard 9/tcp sink null
- systat 11/tcp users
- daytime 13/tcp
- qotd 17/tcp quote
- chargen 19/tcp ttytst source
- ftp-data 20/tcp
- ftp 21/tcp
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- telnet 23/tcp
- ...
- ```
-
- - Видалити послідовні рядки тексту
-
- ```bash
- Shell > cat -n /etc/services | sed '10,$d'
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 4 # Network services, Internet style
- 5 # IANA services version: last updated 2016-07-08
- 6 #
- 7 # Note that it is presently the policy of IANA to assign a single well-known
- 8 # port number for both TCP and UDP; hence, most entries here have two entries
- 9 # even if the protocol doesn't support UDP operations.
- ```
-
- - Регулярний вираз
-
- ```bash
- Shell > cat /etc/services | sed -r '/(tcp)|(udp)|(^#)|(^$)/d'
- http 80/sctp # HyperText Transfer Protocol
- bgp 179/sctp
- https 443/sctp # http protocol over TLS/SSL
- h323hostcall 1720/sctp # H.323 Call Control
- nfs 2049/sctp nfsd shilp # Network File System
- rtmp 1/ddp # Routing Table Maintenance Protocol
- nbp 2/ddp # Name Binding Protocol
- echo 4/ddp # AppleTalk Echo Protocol
- zip 6/ddp # Zone Information Protocol
- discard 9/sctp # Discard
- discard 9/dccp # Discard SC:DISC
- ...
- ```
+ Це схоже на друк, за винятком того, що команду операції замінено на `d`, а параметр -n не потрібен.
+
+ - Видалити всі рядки, які відповідають рядку udp, видалити всі рядки коментарів і видалити всі порожні рядки
+
+ ```bash
+ Shell > sed -e '/udp/d' -e '/^#/d' -e '/^$/d' /etc/services
+ tcpmux 1/tcp # TCP port service multiplexer
+ rje 5/tcp # Remote Job Entry
+ echo 7/tcp
+ discard 9/tcp sink null
+ systat 11/tcp users
+ daytime 13/tcp
+ qotd 17/tcp quote
+ chargen 19/tcp ttytst source
+ ftp-data 20/tcp
+ ftp 21/tcp
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ telnet 23/tcp
+ ...
+ ```
+
+ - Видалити послідовні рядки тексту
+
+ ```bash
+ Shell > cat -n /etc/services | sed '10,$d'
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 4 # Network services, Internet style
+ 5 # IANA services version: last updated 2016-07-08
+ 6 #
+ 7 # Note that it is presently the policy of IANA to assign a single well-known
+ 8 # port number for both TCP and UDP; hence, most entries here have two entries
+ 9 # even if the protocol doesn't support UDP operations.
+ ```
+
+ - Регулярний вираз
+
+ ```bash
+ Shell > cat /etc/services | sed -r '/(tcp)|(udp)|(^#)|(^$)/d'
+ http 80/sctp # HyperText Transfer Protocol
+ bgp 179/sctp
+ https 443/sctp # http protocol over TLS/SSL
+ h323hostcall 1720/sctp # H.323 Call Control
+ nfs 2049/sctp nfsd shilp # Network File System
+ rtmp 1/ddp # Routing Table Maintenance Protocol
+ nbp 2/ddp # Name Binding Protocol
+ echo 4/ddp # AppleTalk Echo Protocol
+ zip 6/ddp # Zone Information Protocol
+ discard 9/sctp # Discard
+ discard 9/dccp # Discard SC:DISC
+ ...
+ ```
3. Замінити рядки (`s///g`)
- | Синтаксис | Опис синтаксису |
- | :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- | `sed 's/string/replace/g' FILENAME` | **s**: усі рядки, що представляють вміст файлу. Ви також можете вказати діапазон рядків, наприклад: `sed '20,200s/netbios/TMP/g' /etc/services. **g** (Глобальне): Якщо g відсутнє, це означає, що коли в одному рядку з'являється кілька співпадаючих рядків, буде замінено лише перший співпадаючий рядок. **/**: Стиль роздільника. Ви також можете вказати інші стилі, наприклад: `sed '20,200s?netbios?TMP?g' /etc/services\` |
-
- !!! tip "Підказка"
-
- ````
- Example in the bash script:
-
- ```bash
- Shell > vim /root/sedReplace.sh
- #!/bin/bash
- a="SELINUX=enforcing"
- b="SELINUX=disabled"
-
- sed -i 's/'${a}'/'${b}'/g' /etc/selinux/config
- # or
- sed -i "s/${a}/${b}/g" /etc/selinux/config
- ```
- ````
-
- - Замініть і роздрукуйте
-
- ```bash
- Shell > sed -n '44,45s/ssh/SSH/gp' /etc/services
- SSH 22/tcp
- SSH 22/udp
- ```
-
- - Використовуйте символ "&", щоб посилатися на рядок
-
- ```bash
- Shell > sed -n '44,45s/ssh/&-SSH/gp' /etc/services
- ssh-SSH 22/tcp
- ssh-SSH 22/udp
- ```
-
- - Використовуйте рядок, щоб знайти один або кілька рядків і замінити вказаний рядок у діапазоні рядків
-
- ```bash
- Shell > grep ssh /etc/services -n
- 44:ssh 22/tcp # The Secure Shell (SSH) Protocol
- 45:ssh 22/udp # The Secure Shell (SSH) Protocol
- 551:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset
- 593:ssh 22/sctp # SSH
- 1351:sshell 614/tcp # SSLshell
- 1352:sshell 614/udp # SSLshell
- 1607:netconf-ssh 830/tcp # NETCONF over SSH
- 1608:netconf-ssh 830/udp # NETCONF over SSH
- 7178:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH
- 7179:sdo-ssh 3897/udp # Simple Distributed Objects over SSH
- 7791:netconf-ch-ssh 4334/tcp # NETCONF Call Home (SSH)
- 8473:snmpssh 5161/tcp # SNMP over SSH Transport Model
- 8474:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model
- 9126:tl1-ssh 6252/tcp # TL1 over SSH
- 9127:tl1-ssh 6252/udp # TL1 over SSH
- 10796:ssh-mgmt 17235/tcp # SSH Tectia Manager
- 10797:ssh-mgmt 17235/udp # SSH Tectia Manager
-
- Shell > sed '/ssh/s/tcp/TCP/gp' -n /etc/services
- ssh 22/TCP # The Secure Shell (SSH) Protocol
- x11-ssh-offset 6010/TCP # SSH X11 forwarding offset
- sshell 614/TCP # SSLshell
- netconf-ssh 830/TCP # NETCONF over SSH
- sdo-ssh 3897/TCP # Simple Distributed Objects over SSH
- netconf-ch-ssh 4334/TCP # NETCONF Call Home (SSH)
- snmpssh 5161/TCP # SNMP over SSH Transport Model
- snmpssh-trap 5162/TCP # SNMP Notification over SSH Transport Model
- tl1-ssh 6252/TCP # TL1 over SSH
- ssh-mgmt 17235/TCP # SSH Tectia Manager
- ```
-
- - Заміна рядка для послідовних рядків
-
- ```bash
- Shell > sed '10,30s/tcp/TCP/g' /etc/services
- ```
-
- - Кілька збігів і замін
-
- ```bash
- Shell > cat /etc/services | sed 's/netbios/test1/g ; s/^#//d ; s/dhcp/&t2/g'
- ```
-
- - Групова заміна регулярних виразів
-
- У регулярних виразах "()" є групуванням. \1 представляє референтну групу 1, \2 представляє референтну групу 2 і так далі.
-
- ```bash
- Shell > cat /etc/services
- ...
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > cat /etc/services | sed -r 's/([0-9]*\/tcp)/\1\tCONTENT1/g ; s/([0-9]*\/udp)/\1\tADD2/g'
- ...
- axio-disc 35100/tcp CONTENT1 # Axiomatic discovery protocol
- axio-disc 35100/udp ADD2 # Axiomatic discovery protocol
- pmwebapi 44323/tcp CONTENT1 # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp ADD2 # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp CONTENT1 # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp CONTENT1 # Capture handwritten signatures
- ```
-
- **\t**: тобто вкладка
-
- - Замініть усі рядки коментарів порожніми
-
- ```bash
- Shell > cat /etc/services | sed -r 's/(^#.*)//g'
- ...
- chargen 19/udp ttytst source
- ftp-data 20/tcp
- ftp-data 20/udp
-
- ftp 21/tcp
- ftp 21/udp fsp fspd
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- ssh 22/udp # The Secure Shell (SSH) Protocol
- ...
- ```
-
- - Замініть одну з малих літер слова великою
-
- ```bash
- Shell > echo -e "hello,world\nPOSIX" | sed -r 's/(.*)w/\1W/g'
- hello,World
- POSIX
- ```
-
- - Зміна позиції рядка
-
- ```bash
- Shell > cat /etc/services
- ...
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- Ми можемо розділити цей файл на п'ять частин:
-
- ```txt
- cloudcheck-ping 45514 / udp # ASSIA CloudCheck WiFi Management keepalive
- ↓ ↓ ↓ ↓ ↓
- (.*) (\<[0-9]+\>) \/ (tcp|udp) (.*)
- ↓ ↓ ↓ ↓
- \1 \2 \3 \4
- ```
-
- ```bash
- Shell > cat /etc/services | sed -r 's/(.*)(\<[0-9]+\>)\/(tcp|udp)(.*)/\1\3\/\2\4/g'
- ...
- edi_service udp/34567 # dhanalakshmi.org EDI Service
- axio-disc tcp/35100 # Axiomatic discovery protocol
- axio-disc udp/35100 # Axiomatic discovery protocol
- pmwebapi tcp/44323 # Performance Co-Pilot client HTTP API
- cloudcheck-ping udp/45514 # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck tcp/45514 # ASSIA CloudCheck WiFi Management System
- spremotetablet tcp/46998 # Capture handwritten signatures
- ```
-
- - Видаліть усі пробіли
-
- ```bash
- Shell > echo -e "abcd\t1 2 3 4\tWorld"
- abcd 1 2 3 4 World
- Shell > echo -e "abcd\t1 2 3 4\tWorld" | sed -r 's/(\s)*//g'
- abcd1234World
- ```
+ | Синтаксис | Опис синтаксису |
+ | :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+ | `sed 's/string/replace/g' FILENAME` | **s**: усі рядки, що представляють вміст файлу. Ви також можете вказати діапазон рядків, наприклад: `sed '20,200s/netbios/TMP/g' /etc/services. **g** (Глобальне): Якщо g відсутнє, це означає, що коли в одному рядку з'являється кілька співпадаючих рядків, буде замінено лише перший співпадаючий рядок. **/**: Стиль роздільника. Ви також можете вказати інші стилі, наприклад: `sed '20,200s?netbios?TMP?g' /etc/services\` |
+
+ !!! tip "Підказка"
+
+ ````
+ Example in the bash script:
+
+ ```bash
+ Shell > vim /root/sedReplace.sh
+ #!/bin/bash
+ a="SELINUX=enforcing"
+ b="SELINUX=disabled"
+
+ sed -i 's/'${a}'/'${b}'/g' /etc/selinux/config
+ # or
+ sed -i "s/${a}/${b}/g" /etc/selinux/config
+ ```
+ ````
+
+ - Замініть і роздрукуйте
+
+ ```bash
+ Shell > sed -n '44,45s/ssh/SSH/gp' /etc/services
+ SSH 22/tcp
+ SSH 22/udp
+ ```
+
+ - Використовуйте символ "&", щоб посилатися на рядок
+
+ ```bash
+ Shell > sed -n '44,45s/ssh/&-SSH/gp' /etc/services
+ ssh-SSH 22/tcp
+ ssh-SSH 22/udp
+ ```
+
+ - Використовуйте рядок, щоб знайти один або кілька рядків і замінити вказаний рядок у діапазоні рядків
+
+ ```bash
+ Shell > grep ssh /etc/services -n
+ 44:ssh 22/tcp # The Secure Shell (SSH) Protocol
+ 45:ssh 22/udp # The Secure Shell (SSH) Protocol
+ 551:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset
+ 593:ssh 22/sctp # SSH
+ 1351:sshell 614/tcp # SSLshell
+ 1352:sshell 614/udp # SSLshell
+ 1607:netconf-ssh 830/tcp # NETCONF over SSH
+ 1608:netconf-ssh 830/udp # NETCONF over SSH
+ 7178:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH
+ 7179:sdo-ssh 3897/udp # Simple Distributed Objects over SSH
+ 7791:netconf-ch-ssh 4334/tcp # NETCONF Call Home (SSH)
+ 8473:snmpssh 5161/tcp # SNMP over SSH Transport Model
+ 8474:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model
+ 9126:tl1-ssh 6252/tcp # TL1 over SSH
+ 9127:tl1-ssh 6252/udp # TL1 over SSH
+ 10796:ssh-mgmt 17235/tcp # SSH Tectia Manager
+ 10797:ssh-mgmt 17235/udp # SSH Tectia Manager
+
+ Shell > sed '/ssh/s/tcp/TCP/gp' -n /etc/services
+ ssh 22/TCP # The Secure Shell (SSH) Protocol
+ x11-ssh-offset 6010/TCP # SSH X11 forwarding offset
+ sshell 614/TCP # SSLshell
+ netconf-ssh 830/TCP # NETCONF over SSH
+ sdo-ssh 3897/TCP # Simple Distributed Objects over SSH
+ netconf-ch-ssh 4334/TCP # NETCONF Call Home (SSH)
+ snmpssh 5161/TCP # SNMP over SSH Transport Model
+ snmpssh-trap 5162/TCP # SNMP Notification over SSH Transport Model
+ tl1-ssh 6252/TCP # TL1 over SSH
+ ssh-mgmt 17235/TCP # SSH Tectia Manager
+ ```
+
+ - Заміна рядка для послідовних рядків
+
+ ```bash
+ Shell > sed '10,30s/tcp/TCP/g' /etc/services
+ ```
+
+ - Кілька збігів і замін
+
+ ```bash
+ Shell > cat /etc/services | sed 's/netbios/test1/g ; s/^#//d ; s/dhcp/&t2/g'
+ ```
+
+ - Групова заміна регулярних виразів
+
+ У регулярних виразах "()" є групуванням. \1 представляє референтну групу 1, \2 представляє референтну групу 2 і так далі.
+
+ ```bash
+ Shell > cat /etc/services
+ ...
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > cat /etc/services | sed -r 's/([0-9]*\/tcp)/\1\tCONTENT1/g ; s/([0-9]*\/udp)/\1\tADD2/g'
+ ...
+ axio-disc 35100/tcp CONTENT1 # Axiomatic discovery protocol
+ axio-disc 35100/udp ADD2 # Axiomatic discovery protocol
+ pmwebapi 44323/tcp CONTENT1 # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp ADD2 # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp CONTENT1 # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp CONTENT1 # Capture handwritten signatures
+ ```
+
+ **\t**: тобто вкладка
+
+ - Замініть усі рядки коментарів порожніми
+
+ ```bash
+ Shell > cat /etc/services | sed -r 's/(^#.*)//g'
+ ...
+ chargen 19/udp ttytst source
+ ftp-data 20/tcp
+ ftp-data 20/udp
+
+ ftp 21/tcp
+ ftp 21/udp fsp fspd
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ ssh 22/udp # The Secure Shell (SSH) Protocol
+ ...
+ ```
+
+ - Замініть одну з малих літер слова великою
+
+ ```bash
+ Shell > echo -e "hello,world\nPOSIX" | sed -r 's/(.*)w/\1W/g'
+ hello,World
+ POSIX
+ ```
+
+ - Зміна позиції рядка
+
+ ```bash
+ Shell > cat /etc/services
+ ...
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ Ми можемо розділити цей файл на п'ять частин:
+
+ ```txt
+ cloudcheck-ping 45514 / udp # ASSIA CloudCheck WiFi Management keepalive
+ ↓ ↓ ↓ ↓ ↓
+ (.*) (\<[0-9]+\>) \/ (tcp|udp) (.*)
+ ↓ ↓ ↓ ↓
+ \1 \2 \3 \4
+ ```
+
+ ```bash
+ Shell > cat /etc/services | sed -r 's/(.*)(\<[0-9]+\>)\/(tcp|udp)(.*)/\1\3\/\2\4/g'
+ ...
+ edi_service udp/34567 # dhanalakshmi.org EDI Service
+ axio-disc tcp/35100 # Axiomatic discovery protocol
+ axio-disc udp/35100 # Axiomatic discovery protocol
+ pmwebapi tcp/44323 # Performance Co-Pilot client HTTP API
+ cloudcheck-ping udp/45514 # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck tcp/45514 # ASSIA CloudCheck WiFi Management System
+ spremotetablet tcp/46998 # Capture handwritten signatures
+ ```
+
+ - Видаліть усі пробіли
+
+ ```bash
+ Shell > echo -e "abcd\t1 2 3 4\tWorld"
+ abcd 1 2 3 4 World
+ Shell > echo -e "abcd\t1 2 3 4\tWorld" | sed -r 's/(\s)*//g'
+ abcd1234World
+ ```
4. Виконайте кілька разів за допомогою параметра -e
- Наступний приклад:
-
- ```bash
- Shell > tail -n 10 /etc/services
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > tail -n 10 /etc/services | sed -e '1,3d' -e '/cloud/s/ping/PING/g'
- # or
- Shell > tail -n 10 /etc/services | sed '1,3d ; /cloud/s/ping/PING/g'
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-PING 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
-5. Додайте вміст над або під певним рядком («i» і «a»)
-
- - Додайте два рядки вмісту над вказаним номером рядка
+ Наступний приклад:
```bash
- Shell > tail -n 10 /etc/services > /root/test.txt
- Shell > cat /root/test.txt
+ Shell > tail -n 10 /etc/services
aigairserver 21221/tcp # Services for Air Server
ka-kdp 31016/udp # Kollective Agent Kollective Delivery
ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
@@ -519,318 +489,348 @@ sed [OPTION]... {script-only-if-no-other-script} [input-file]...
cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
spremotetablet 46998/tcp # Capture handwritten signatures
- Shell > cat /root/test.txt | sed '3i 123\
- abc'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- 123
- abc
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ Shell > tail -n 10 /etc/services | sed -e '1,3d' -e '/cloud/s/ping/PING/g'
+ # or
+ Shell > tail -n 10 /etc/services | sed '1,3d ; /cloud/s/ping/PING/g'
edi_service 34567/udp # dhanalakshmi.org EDI Service
axio-disc 35100/tcp # Axiomatic discovery protocol
axio-disc 35100/udp # Axiomatic discovery protocol
pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck-PING 45514/udp # ASSIA CloudCheck WiFi Management keepalive
cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
spremotetablet 46998/tcp # Capture handwritten signatures
```
- - Додайте три рядки під вказаним номером рядка
-
- ```bash
- Shell > cat /root/test.txt | sed '5a 123\
- comment yes\
- tcp or udp'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- 123
- comment yes
- tcp or udp
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- - Зіставте певний рядок на основі рядка та додайте 2 рядки вмісту над ним
+5. Додайте вміст над або під певним рядком («i» і «a»)
- ```bash
- Shell > cat /root/test.txt | sed '/tcp/iTCP\
- UDP'
- TCP
- UDP
+ - Додайте два рядки вмісту над вказаним номером рядка
+
+ ```bash
+ Shell > tail -n 10 /etc/services > /root/test.txt
+ Shell > cat /root/test.txt
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > cat /root/test.txt | sed '3i 123\
+ abc'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ 123
+ abc
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Додайте три рядки під вказаним номером рядка
+
+ ```bash
+ Shell > cat /root/test.txt | sed '5a 123\
+ comment yes\
+ tcp or udp'
aigairserver 21221/tcp # Services for Air Server
ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- TCP
- UDP
ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
edi_service 34567/udp # dhanalakshmi.org EDI Service
- TCP
- UDP
axio-disc 35100/tcp # Axiomatic discovery protocol
+ 123
+ comment yes
+ tcp or udp
axio-disc 35100/udp # Axiomatic discovery protocol
- TCP
- UDP
pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- TCP
- UDP
cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- TCP
- UDP
spremotetablet 46998/tcp # Capture handwritten signatures
```
-6. Замінити рядки (`c`)
+ - Зіставте певний рядок на основі рядка та додайте 2 рядки вмісту над ним
+
+ ```bash
+ Shell > cat /root/test.txt | sed '/tcp/iTCP\
+ UDP'
+ TCP
+ UDP
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ TCP
+ UDP
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ TCP
+ UDP
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ TCP
+ UDP
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ TCP
+ UDP
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ TCP
+ UDP
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
- - Знайдіть один або кілька рядків на основі рядка та замініть ці рядки тексту
+6. Замінити рядки (`c`)
- ```bash
- Shell > cat /root/test.txt | sed '/ser/c\TMP1 \
- TMP2'
- TMP1
- TMP2
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- TMP1
- TMP2
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
+ - Знайдіть один або кілька рядків на основі рядка та замініть ці рядки тексту
+
+ ```bash
+ Shell > cat /root/test.txt | sed '/ser/c\TMP1 \
+ TMP2'
+ TMP1
+ TMP2
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ TMP1
+ TMP2
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Заміна однієї лінії
+
+ ```bash
+ Shell > cat /root/test.txt | sed '7c REPLACE'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ REPLACE
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Замінити послідовні рядки тексту
+
+ ```bash
+ Shell > cat /root/test.txt | sed '2,$c REPLACE1 \
+ replace2'
+ aigairserver 21221/tcp # Services for Air Server
+ REPLACE1
+ replace2
+ ```
+
+ - Замініть парні рядки
+
+ ```bash
+ Shell > cat /root/test.txt | sed '2~2c replace'
+ aigairserver 21221/tcp # Services for Air Server
+ replace
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ replace
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ replace
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ replace
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ replace
+ ```
- - Заміна однієї лінії
+7. Прочитайте вміст файлу та додайте його вміст під відповідним рядком (`r`)
```bash
- Shell > cat /root/test.txt | sed '7c REPLACE'
+ Shell > cat /root/app.txt
+ append1
+ POSIX
+ UNIX
+
+ Shell > cat /root/test.txt | sed '/ping/r /root/app.txt'
aigairserver 21221/tcp # Services for Air Server
ka-kdp 31016/udp # Kollective Agent Kollective Delivery
ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
edi_service 34567/udp # dhanalakshmi.org EDI Service
axio-disc 35100/tcp # Axiomatic discovery protocol
axio-disc 35100/udp # Axiomatic discovery protocol
- REPLACE
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ append1
+ POSIX
+ UNIX
cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
spremotetablet 46998/tcp # Capture handwritten signatures
```
- - Замінити послідовні рядки тексту
-
- ```bash
- Shell > cat /root/test.txt | sed '2,$c REPLACE1 \
- replace2'
- aigairserver 21221/tcp # Services for Air Server
- REPLACE1
- replace2
- ```
-
- - Замініть парні рядки
-
- ```bash
- Shell > cat /root/test.txt | sed '2~2c replace'
- aigairserver 21221/tcp # Services for Air Server
- replace
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- replace
- axio-disc 35100/tcp # Axiomatic discovery protocol
- replace
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- replace
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- replace
- ```
-
-7. Прочитайте вміст файлу та додайте його вміст під відповідним рядком (`r`)
-
- ```bash
- Shell > cat /root/app.txt
- append1
- POSIX
- UNIX
-
- Shell > cat /root/test.txt | sed '/ping/r /root/app.txt'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- append1
- POSIX
- UNIX
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
8. Записати відповідні рядки в інші файли (`w`)
- ```bash
- Shell > cat /root/test.txt | sed '/axio/w /root/storage.txt'
-
- Shell > cat /root/storage.txt
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- ```
-
-9. Читання/додавання наступного рядка введення в "простір шаблону" (`n` і `N`)
-
- - Надрукуйте наступний рядок відповідного рядка
-
```bash
- Shell > cat /root/test.txt
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
+ Shell > cat /root/test.txt | sed '/axio/w /root/storage.txt'
+
+ Shell > cat /root/storage.txt
axio-disc 35100/tcp # Axiomatic discovery protocol
axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > cat /root/test.txt | sed '/ping/{n;p}' -n
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
```
- !!! tip "Підказка"
-
- ```
- Кілька команд операції `sed` можуть впливати одна на одну, і ви можете використовувати "**{ }**", щоб зменшити цей вплив.
- ```
-
- - Друк рівних рядків тексту
+9. Читання/додавання наступного рядка введення в "простір шаблону" (`n` і `N`)
- Спочатку прочитайте перший рядок, оскільки присутня команда `n`; буде роздруковано другий рядок і так далі.
+ - Надрукуйте наступний рядок відповідного рядка
+
+ ```bash
+ Shell > cat /root/test.txt
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > cat /root/test.txt | sed '/ping/{n;p}' -n
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
+
+ !!! tip "Підказка"
+
+ ```
+ Кілька команд операції `sed` можуть впливати одна на одну, і ви можете використовувати "**{ }**", щоб зменшити цей вплив.
+ ```
+
+ - Друк рівних рядків тексту
+
+ Спочатку прочитайте перший рядок, оскільки присутня команда `n`; буде роздруковано другий рядок і так далі.
+
+ ```bash
+ Shell > cat -n /root/test.txt | sed -n '{n;p}'
+ # or
+ Shell > cat -n /root/test.txt | sed -n '2~2p'
+ 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ 4 edi_service 34567/udp # dhanalakshmi.org EDI Service
+ 6 axio-disc 35100/udp # Axiomatic discovery protocol
+ 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ 10 spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Друк непарних рядків тексту
+
+ ```bash
+ Shell > cat -n /root/test.txt | sed -n '{p;n}'
+ # or
+ Shell > cat -n /root/test.txt | sed -n '1~2p'
+ # or
+ Shell > cat -n /root/test.txt | sed 'n;d'
+ 1 aigairserver 21221/tcp # Services for Air Server
+ 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ 5 axio-disc 35100/tcp # Axiomatic discovery protocol
+ 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
+
+ - Вивести 3n рядків
+
+ ```bash
+ Shell > cat -n /root/test.txt | sed -n '{n;n;p}'
+ # or
+ Shell > cat -n /root/test.txt | sed -n '3~3p'
+ 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ 6 axio-disc 35100/udp # Axiomatic discovery protocol
+ 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
+
+ - `N`
+
+ Прочитайте перший рядок і додайте один рядок після зустрічі з командою `N`. У цьому прикладі «простір шаблону» — «1\n2». Нарешті, виконайте команду `q`, щоб вийти.
+
+ ```bash
+ Shell > seq 1 10 | sed 'N;q'
+ 1
+ 2
+ ```
+
+ Оскільки після рядка 9 немає додаткового рядка, результат буде таким:
+
+ ```bash
+ Shell > seq 1 9 | sed -n 'N;p'
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ ```
+
+ Коли зчитується останній рядок, команда `N` не виконується, і виводиться наступне:
+
+ ```bash
+ Shell > seq 1 9 | sed -n '$!N;p'
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ ```
+
+ Об’єднати два рядки в один. Замініть "\n" у "шаблоні" пробілом.
+
+ ```bash
+ Shell > seq 1 6 | sed 'N;{s/\n//g}'
+ 12
+ 34
+ 56
+ ```
- ```bash
- Shell > cat -n /root/test.txt | sed -n '{n;p}'
- # or
- Shell > cat -n /root/test.txt | sed -n '2~2p'
- 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- 4 edi_service 34567/udp # dhanalakshmi.org EDI Service
- 6 axio-disc 35100/udp # Axiomatic discovery protocol
- 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- 10 spremotetablet 46998/tcp # Capture handwritten signatures
- ```
+10. Ігнорувати регістр ('I')
- - Друк непарних рядків тексту
+ Здається, немає інформації про ігнорування регістру в `man 1 sed`.
```bash
- Shell > cat -n /root/test.txt | sed -n '{p;n}'
- # or
- Shell > cat -n /root/test.txt | sed -n '1~2p'
- # or
- Shell > cat -n /root/test.txt | sed 'n;d'
- 1 aigairserver 21221/tcp # Services for Air Server
- 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- 5 axio-disc 35100/tcp # Axiomatic discovery protocol
- 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ Shell > echo -e "abc\nAbc" | sed -n 's/a/X/Igp'
+ Xbc
+ XBC
```
- - Вивести 3n рядків
-
```bash
- Shell > cat -n /root/test.txt | sed -n '{n;n;p}'
- # or
- Shell > cat -n /root/test.txt | sed -n '3~3p'
- 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- 6 axio-disc 35100/udp # Axiomatic discovery protocol
- 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ Shell > cat /etc/services | sed '/OEM/Ip' -n
+ oem-agent 3872/tcp # OEM Agent
+ oem-agent 3872/udp # OEM Agent
+ oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting access point
+ oemcacao-rmi 11174/tcp # OEM cacao rmi registry access point
+ oemcacao-websvc 11175/tcp # OEM cacao web service access point
```
- - `N`
-
- Прочитайте перший рядок і додайте один рядок після зустрічі з командою `N`. У цьому прикладі «простір шаблону» — «1\n2». Нарешті, виконайте команду `q`, щоб вийти.
-
```bash
- Shell > seq 1 10 | sed 'N;q'
- 1
- 2
+ Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Id'
```
- Оскільки після рядка 9 немає додаткового рядка, результат буде таким:
-
```bash
- Shell > seq 1 9 | sed -n 'N;p'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
+ Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Ic TMP'
```
- Коли зчитується останній рядок, команда `N` не виконується, і виводиться наступне:
+11. Отримує загальну кількість рядків у файлі
```bash
- Shell > seq 1 9 | sed -n '$!N;p'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- ```
-
- Об’єднати два рядки в один. Замініть "\n" у "шаблоні" пробілом.
+ Shell > cat /etc/services | sed -n '$='
+ # or
+ Shell > cat /etc/services | wc -l
- ```bash
- Shell > seq 1 6 | sed 'N;{s/\n//g}'
- 12
- 34
- 56
+ 11473
```
-
-10. Ігнорувати регістр ('I')
-
- Здається, немає інформації про ігнорування регістру в `man 1 sed`.
-
- ```bash
- Shell > echo -e "abc\nAbc" | sed -n 's/a/X/Igp'
- Xbc
- XBC
- ```
-
- ```bash
- Shell > cat /etc/services | sed '/OEM/Ip' -n
- oem-agent 3872/tcp # OEM Agent
- oem-agent 3872/udp # OEM Agent
- oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting access point
- oemcacao-rmi 11174/tcp # OEM cacao rmi registry access point
- oemcacao-websvc 11175/tcp # OEM cacao web service access point
- ```
-
- ```bash
- Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Id'
- ```
-
- ```bash
- Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Ic TMP'
- ```
-
-11. Отримує загальну кількість рядків у файлі
-
- ```bash
- Shell > cat /etc/services | sed -n '$='
- # or
- Shell > cat /etc/services | wc -l
-
- 11473
- ```
diff --git a/docs/books/sed_awk_grep/index.fr.md b/docs/books/sed_awk_grep/index.fr.md
index 79d5b106bb..0f4135e65b 100644
--- a/docs/books/sed_awk_grep/index.fr.md
+++ b/docs/books/sed_awk_grep/index.fr.md
@@ -1,7 +1,7 @@
---
title: Sed, Awk & Grep - the Three Swordsmen
author: tianci li
-contributors: null
+contributors:
tags:
- grep
- sed
diff --git a/docs/books/sed_awk_grep/index.it.md b/docs/books/sed_awk_grep/index.it.md
index c35b3359af..1b350fe037 100644
--- a/docs/books/sed_awk_grep/index.it.md
+++ b/docs/books/sed_awk_grep/index.it.md
@@ -1,7 +1,7 @@
---
title: Sed, Awk e Grep - i tre spadaccini
author: tianci li
-contributors: null
+contributors:
tags:
- grep
- sed
diff --git a/docs/books/sed_awk_grep/index.uk.md b/docs/books/sed_awk_grep/index.uk.md
index 409675d810..89989f24a3 100644
--- a/docs/books/sed_awk_grep/index.uk.md
+++ b/docs/books/sed_awk_grep/index.uk.md
@@ -1,7 +1,7 @@
---
title: Sed, Awk & Grep - три мечники
author: tianci li
-contributors: null
+contributors:
tags:
- grep
- sed
diff --git a/docs/books/web_services/01-files-servers.de.md b/docs/books/web_services/01-files-servers.de.md
index 2fba88b646..3698f14132 100644
--- a/docs/books/web_services/01-files-servers.de.md
+++ b/docs/books/web_services/01-files-servers.de.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Erster Teil File-Server
tags:
- ftp
diff --git a/docs/books/web_services/01-files-servers.fr.md b/docs/books/web_services/01-files-servers.fr.md
index 9d91d316c4..863b4b06c0 100644
--- a/docs/books/web_services/01-files-servers.fr.md
+++ b/docs/books/web_services/01-files-servers.fr.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Chapitre 1. Serveurs de Fichiers
tags:
- ftp
diff --git a/docs/books/web_services/01-files-servers.it.md b/docs/books/web_services/01-files-servers.it.md
index 3a8d1f83b5..688fdeaceb 100644
--- a/docs/books/web_services/01-files-servers.it.md
+++ b/docs/books/web_services/01-files-servers.it.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Capitolo 1. Files Servers
tags:
- ftp
diff --git a/docs/books/web_services/01-files-servers.uk.md b/docs/books/web_services/01-files-servers.uk.md
index 0cce48a769..dc40d25aa8 100644
--- a/docs/books/web_services/01-files-servers.uk.md
+++ b/docs/books/web_services/01-files-servers.uk.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Частина 1 Files Servers
tags:
- ftp
diff --git a/docs/books/web_services/04-database-servers.it.md b/docs/books/web_services/04-database-servers.it.md
index 40eb2f6d87..26e37db843 100644
--- a/docs/books/web_services/04-database-servers.it.md
+++ b/docs/books/web_services/04-database-servers.it.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Capitolo 4. Server Database
---
diff --git a/docs/books/web_services/04-database-servers.uk.md b/docs/books/web_services/04-database-servers.uk.md
index 43f2fb7d76..a46598b347 100644
--- a/docs/books/web_services/04-database-servers.uk.md
+++ b/docs/books/web_services/04-database-servers.uk.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Частина 4. Сервери баз даних
---
diff --git a/docs/books/web_services/05-load-balancer-proxies.fr.md b/docs/books/web_services/05-load-balancer-proxies.fr.md
index 5d245a6ce5..e962544428 100644
--- a/docs/books/web_services/05-load-balancer-proxies.fr.md
+++ b/docs/books/web_services/05-load-balancer-proxies.fr.md
@@ -1,6 +1,6 @@
---
author: Antoine Le Morvan
-contributors: null
+contributors:
title: Chapitre 5 Équilibrage de charge, mise en cache et proxy
---
diff --git a/docs/books/web_services/05-load-balancer-proxies.it.md b/docs/books/web_services/05-load-balancer-proxies.it.md
index a20c1cf580..2923eb5f27 100644
--- a/docs/books/web_services/05-load-balancer-proxies.it.md
+++ b/docs/books/web_services/05-load-balancer-proxies.it.md
@@ -1,6 +1,6 @@
---
author: Antoine Le Morvan
-contributors: null
+contributors:
title: Capitolo 5. Load balancing, caching e proxy
---
diff --git a/docs/books/web_services/05-load-balancer-proxies.uk.md b/docs/books/web_services/05-load-balancer-proxies.uk.md
index fde1f35998..6988d47630 100644
--- a/docs/books/web_services/05-load-balancer-proxies.uk.md
+++ b/docs/books/web_services/05-load-balancer-proxies.uk.md
@@ -1,6 +1,6 @@
---
author: Antoine Le Morvan
-contributors: null
+contributors:
title: Частина 5. Балансування навантаження, кешування та проксіфікація
---
diff --git a/docs/books/web_services/051-load-balancer-proxies-haproxy.it.md b/docs/books/web_services/051-load-balancer-proxies-haproxy.it.md
index a40cfb2ede..67650c165a 100644
--- a/docs/books/web_services/051-load-balancer-proxies-haproxy.it.md
+++ b/docs/books/web_services/051-load-balancer-proxies-haproxy.it.md
@@ -1,6 +1,6 @@
---
author: Antoine Le Morvan
-contributors: null
+contributors:
title: Part 5.1 HAProxy
---
diff --git a/docs/books/web_services/051-load-balancer-proxies-haproxy.uk.md b/docs/books/web_services/051-load-balancer-proxies-haproxy.uk.md
index 4eed2d4bee..b519e8024c 100644
--- a/docs/books/web_services/051-load-balancer-proxies-haproxy.uk.md
+++ b/docs/books/web_services/051-load-balancer-proxies-haproxy.uk.md
@@ -1,6 +1,6 @@
---
author: Antoine Le Morvan
-contributors: null
+contributors:
title: Частина 5.1 HAProxy
---
diff --git a/docs/books/web_services/06-mails-servers.de.md b/docs/books/web_services/06-mails-servers.de.md
index a47c3a8fee..d99fe72cea 100644
--- a/docs/books/web_services/06-mails-servers.de.md
+++ b/docs/books/web_services/06-mails-servers.de.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Kapitel 6 – Mail-Server
---
diff --git a/docs/books/web_services/06-mails-servers.fr.md b/docs/books/web_services/06-mails-servers.fr.md
index b76394088c..7fc694c10d 100644
--- a/docs/books/web_services/06-mails-servers.fr.md
+++ b/docs/books/web_services/06-mails-servers.fr.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Chapitre 6 Serveurs de messagerie
---
diff --git a/docs/books/web_services/06-mails-servers.it.md b/docs/books/web_services/06-mails-servers.it.md
index b86c2ec892..9460d05e2e 100644
--- a/docs/books/web_services/06-mails-servers.it.md
+++ b/docs/books/web_services/06-mails-servers.it.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Capitolo 6. Server mail
---
diff --git a/docs/books/web_services/06-mails-servers.uk.md b/docs/books/web_services/06-mails-servers.uk.md
index 902e3d14af..f378925fe9 100644
--- a/docs/books/web_services/06-mails-servers.uk.md
+++ b/docs/books/web_services/06-mails-servers.uk.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Частина 6. Поштові сервери
---
diff --git a/docs/desktop/gnome/file-shredder.de.md b/docs/desktop/gnome/file-shredder.de.md
index ac14f9f9d9..275a3baa6c 100644
--- a/docs/desktop/gnome/file-shredder.de.md
+++ b/docs/desktop/gnome/file-shredder.de.md
@@ -22,19 +22,19 @@ Für diese Anleitung benötigen Sie Folgendes:
1. Gehen Sie zu [Flathub.org] (https://flathub.org), geben Sie `File Shredder` in die Suchleiste ein und klicken Sie auf **Install**
- 
+ 
2. Kopieren Sie das manuelle Skript in Ihr Terminal:
- ```bash
- flatpak install flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak install flathub io.github.ADBeveridge.Raider
+ ```
3. Führen Sie anschließend das manuelle Installationsskript in Ihrem Terminal aus:
- ```bash
- flatpak run flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak run flathub io.github.ADBeveridge.Raider
+ ```
## Anwendungshinweise
@@ -42,7 +42,7 @@ Gehen Sie wie folgt vor, um `File Shredder` zu verwenden:
1. Ziehen oder klicken Sie auf **Add file**, um die Datei(en) auszuwählen, die Sie entfernen möchten
- 
+ 
2. Auf **Shred All** klicken
diff --git a/docs/desktop/gnome/file-shredder.fr.md b/docs/desktop/gnome/file-shredder.fr.md
index 435f4a050c..11502151b1 100644
--- a/docs/desktop/gnome/file-shredder.fr.md
+++ b/docs/desktop/gnome/file-shredder.fr.md
@@ -22,19 +22,19 @@ Ce guide suppose que vous disposez de la configuration suivante :
1. Accédez au [site Web Flathub](https://flathub.org/), tapez `File Shredder` dans la barre de recherche et cliquez sur **Install**
- 
+ 
2. Copiez le script d'installation manuelle dans un terminal :
- ```bash
- flatpak install flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak install flathub io.github.ADBeveridge.Raider
+ ```
3. Enfin, exécutez le script d'installation manuelle dans votre terminal :
- ```bash
- flatpak run flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak run flathub io.github.ADBeveridge.Raider
+ ```
## Mode d'emploi
@@ -42,7 +42,7 @@ Pour utiliser le programme `File Shredder`, procédez comme suit :
1. Faites glisser ou cliquez sur **Add File** pour sélectionner le(s) fichier(s) que vous souhaitez supprimer
- 
+ 
2. Cliquez sur **Shred All**
diff --git a/docs/desktop/gnome/file-shredder.it.md b/docs/desktop/gnome/file-shredder.it.md
index b838782347..ad99ae2a61 100644
--- a/docs/desktop/gnome/file-shredder.it.md
+++ b/docs/desktop/gnome/file-shredder.it.md
@@ -22,19 +22,19 @@ Questa guida presuppone che si disponga di quanto segue:
1. Andate sul [sito web di Flathub](https://flathub.org), digitate "File Shredder" nella barra di ricerca e cliccate su **Install**
- 
+ 
2. Copiare lo script manuale nel terminale:
- ```bash
- flatpak install flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak install flathub io.github.ADBeveridge.Raider
+ ```
3. Infine, eseguire lo script manuale nel terminale:
- ```bash
- flatpak run flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak run flathub io.github.ADBeveridge.Raider
+ ```
## Istruzioni
@@ -42,7 +42,7 @@ Per utilizzare File Shredder, procedere come segue:
1. Trascinare o fare clic su **Aggiungi file** per scegliere il file o i file che si desidera rimuovere
- 
+ 
2. Cliccare su **Shred All**
diff --git a/docs/desktop/gnome/file-shredder.uk.md b/docs/desktop/gnome/file-shredder.uk.md
index 62d9ae4184..af428bf672 100644
--- a/docs/desktop/gnome/file-shredder.uk.md
+++ b/docs/desktop/gnome/file-shredder.uk.md
@@ -22,19 +22,19 @@ contributors: Steven Spencer, Ganna Zhyrnova
1. Перейдіть на [веб-сайт Flathub](https://flathub.org), введіть «File Shredder» у рядку пошуку та натисніть **Install**
- 
+ 
2. Скопіюйте скрипт у свій термінал:
- ```bash
- flatpak install flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak install flathub io.github.ADBeveridge.Raider
+ ```
3. Нарешті, запустіть сценарій у вашому терміналі:
- ```bash
- flatpak run flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak run flathub io.github.ADBeveridge.Raider
+ ```
## Як цим користуватися
@@ -42,7 +42,7 @@ contributors: Steven Spencer, Ganna Zhyrnova
1. Перетягніть або клацніть **Add file**, щоб вибрати файли, які потрібно видалити
- 
+ 
2. Натисніть **Shred All**
diff --git a/docs/desktop/gnome/flatpak.de.md b/docs/desktop/gnome/flatpak.de.md
index f9de79260a..8e5296735a 100644
--- a/docs/desktop/gnome/flatpak.de.md
+++ b/docs/desktop/gnome/flatpak.de.md
@@ -166,51 +166,51 @@ Der Installationsprozess für OBS Studio sieht beispielsweise wie folgt aus:
3. Klicken Sie auf den Abwärtspfeil neben der Schaltfläche „Installieren“
- 
+ 
- 
+ 
4. Stellen Sie sicher, dass Sie alle Installationsvoraussetzungen für Rocky Linux erfüllt haben (Nummer 1 im zweiten Bild, das oben bereits abgeschlossen ist), kopieren Sie dann den Befehl (Nummer 2 im zweiten Bild) und fügen Sie ihn in ein Terminal ein
- ```bash
- flatpak install flathub com.obsproject.Studio
- Looking for matches…
- Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
- Do you want to install it? [Y/n]: Y
- ```
+ ```bash
+ flatpak install flathub com.obsproject.Studio
+ Looking for matches…
+ Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
+ Do you want to install it? [Y/n]: Y
+ ```
5. Wenn Sie mit „Y“ antworten und ++enter++ drücken, wird Folgendes angezeigt:
- ```bash
- com.obsproject.Studio permissions:
- ipc network pulseaudio wayland
- x11 devices file access [1] dbus access [2]
- system dbus access [3]
-
- [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
- [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
- org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
- [3] org.freedesktop.Avahi
-
- ID Branch Op Remote Download
- 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
- 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
- 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
- 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
- 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
- 6. org.kde.Platform 6.6 i flathub < 325.0 MB
- 7. com.obsproject.Studio stable i flathub < 207.7 MB
-
- Proceed with these changes to the system installation? [Y/n]:
- ```
+ ```bash
+ com.obsproject.Studio permissions:
+ ipc network pulseaudio wayland
+ x11 devices file access [1] dbus access [2]
+ system dbus access [3]
+
+ [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
+ [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
+ org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
+ [3] org.freedesktop.Avahi
+
+ ID Branch Op Remote Download
+ 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
+ 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
+ 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
+ 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
+ 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
+ 6. org.kde.Platform 6.6 i flathub < 325.0 MB
+ 7. com.obsproject.Studio stable i flathub < 207.7 MB
+
+ Proceed with these changes to the system installation? [Y/n]:
+ ```
6. Wenn Sie mit „Y“ antworten und ++enter++ drücken, werden die Systemberechtigungen wie angegeben geändert und die Anwendung installiert.
7. Wenn alles gut geht, sollten Sie folgende Meldung erhalten:
- ```text
- Installation complete.
- ```
+ ```text
+ Installation complete.
+ ```
8. Im Menü „Aktivities“ können Sie nun nach OBS Studio suchen und es ausführen.
diff --git a/docs/desktop/gnome/flatpak.fr.md b/docs/desktop/gnome/flatpak.fr.md
index f8d7986c0a..503025608f 100644
--- a/docs/desktop/gnome/flatpak.fr.md
+++ b/docs/desktop/gnome/flatpak.fr.md
@@ -166,51 +166,51 @@ Pour parcourir `Flathub`, veuillez consulter . Une énorme
3. Cliquez sur la flèche vers le bas à côté du bouton « Install »
- 
+ 
- 
+ 
4. Assurez-vous d'avoir rempli toutes les conditions préalables à l'installation de Rocky Linux (numéro 1 dans la deuxième image, qui est déjà complété ci-dessus), puis copiez la commande (numéro 2 dans la deuxième image) et collez-la dans un terminal
- ```bash
- flatpak install flathub com.obsproject.Studio
- Looking for matches…
- Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
- Do you want to install it? [Y/n]: Y
- ```
+ ```bash
+ flatpak install flathub com.obsproject.Studio
+ Looking for matches…
+ Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
+ Do you want to install it? [Y/n]: Y
+ ```
5. Lorsque vous répondez « Y » et appuyez sur ++enter++, vous verrez ce qui suit :
- ```bash
- com.obsproject.Studio permissions:
- ipc network pulseaudio wayland
- x11 devices file access [1] dbus access [2]
- system dbus access [3]
-
- [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
- [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
- org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
- [3] org.freedesktop.Avahi
-
- ID Branch Op Remote Download
- 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
- 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
- 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
- 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
- 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
- 6. org.kde.Platform 6.6 i flathub < 325.0 MB
- 7. com.obsproject.Studio stable i flathub < 207.7 MB
-
- Proceed with these changes to the system installation? [Y/n]:
- ```
+ ```bash
+ com.obsproject.Studio permissions:
+ ipc network pulseaudio wayland
+ x11 devices file access [1] dbus access [2]
+ system dbus access [3]
+
+ [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
+ [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
+ org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
+ [3] org.freedesktop.Avahi
+
+ ID Branch Op Remote Download
+ 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
+ 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
+ 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
+ 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
+ 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
+ 6. org.kde.Platform 6.6 i flathub < 325.0 MB
+ 7. com.obsproject.Studio stable i flathub < 207.7 MB
+
+ Proceed with these changes to the system installation? [Y/n]:
+ ```
6. Répondre « Y » et appuyer sur ++enter++ modifiera les autorisations du système comme indiqué et installera l'application.
7. Si tout se passe bien, vous devriez obtenir le message suivant :
- ```text
- Installation complete.
- ```
+ ```text
+ Installation complete.
+ ```
8. Depuis le menu « Activities », vous pouvez désormais rechercher et exécuter OBS Studio.
diff --git a/docs/desktop/gnome/flatpak.it.md b/docs/desktop/gnome/flatpak.it.md
index ffc9018d05..28bdc60de1 100644
--- a/docs/desktop/gnome/flatpak.it.md
+++ b/docs/desktop/gnome/flatpak.it.md
@@ -166,51 +166,51 @@ A titolo di esempio, il processo di installazione di OBS Studio è il seguente:
3. Cliccare sulla freccia rivolta verso il basso accanto al pulsante "Installa"
- 
+ 
- 
+ 
4. Assicuratevi di aver completato tutti i prerequisiti per l'installazione di Rocky Linux (numero 1 nella seconda immagine, che è già stato completato sopra) e poi copiate il comando (numero 2 nella seconda immagine) e incollatelo in un terminale
- ```bash
- flatpak install flathub com.obsproject.Studio
- Looking for matches…
- Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
- Do you want to install it? [Y/n]: Y
- ```
+ ```bash
+ flatpak install flathub com.obsproject.Studio
+ Looking for matches…
+ Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
+ Do you want to install it? [Y/n]: Y
+ ```
5. Quando si risponde "Y" e si preme ++enter++, viene visualizzato il seguente messaggio:
- ```bash
- com.obsproject.Studio permissions:
- ipc network pulseaudio wayland
- x11 devices file access [1] dbus access [2]
- system dbus access [3]
-
- [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
- [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
- org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
- [3] org.freedesktop.Avahi
-
- ID Branch Op Remote Download
- 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
- 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
- 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
- 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
- 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
- 6. org.kde.Platform 6.6 i flathub < 325.0 MB
- 7. com.obsproject.Studio stable i flathub < 207.7 MB
-
- Proceed with these changes to the system installation? [Y/n]:
- ```
+ ```bash
+ com.obsproject.Studio permissions:
+ ipc network pulseaudio wayland
+ x11 devices file access [1] dbus access [2]
+ system dbus access [3]
+
+ [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
+ [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
+ org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
+ [3] org.freedesktop.Avahi
+
+ ID Branch Op Remote Download
+ 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
+ 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
+ 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
+ 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
+ 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
+ 6. org.kde.Platform 6.6 i flathub < 325.0 MB
+ 7. com.obsproject.Studio stable i flathub < 207.7 MB
+
+ Proceed with these changes to the system installation? [Y/n]:
+ ```
6. Rispondendo "Y" e premendo ++enter++ si modificheranno i permessi di sistema come indicato e si installerà l'applicazione.
7. Se tutto va bene, dovreste ricevere:
- ```text
- Installation complete.
- ```
+ ```text
+ Installation complete.
+ ```
8. Dal menu "Attività" è ora possibile cercare ed eseguire OBS Studio.
diff --git a/docs/desktop/gnome/flatpak.uk.md b/docs/desktop/gnome/flatpak.uk.md
index 43f440385d..86d9f71753 100644
--- a/docs/desktop/gnome/flatpak.uk.md
+++ b/docs/desktop/gnome/flatpak.uk.md
@@ -166,51 +166,51 @@ Flathub — це веб-ресурс для отримання або надси
3. Натисніть стрілку вниз поруч із кнопкою «Встановити»
- 
+ 
- 
+ 
4. Переконайтеся, що ви виконали всі передумови встановлення для Rocky Linux (номер 1 на другому зображенні, яке вже виконано вище), а потім скопіюйте команду (номер 2 на другому зображенні) і вставте її в термінал
- ```bash
- flatpak install flathub com.obsproject.Studio
- Looking for matches…
- Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
- Do you want to install it? [Y/n]: Y
- ```
+ ```bash
+ flatpak install flathub com.obsproject.Studio
+ Looking for matches…
+ Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
+ Do you want to install it? [Y/n]: Y
+ ```
5. Коли ви відповісте «Y» і натиснете ++enter++, ви побачите таке:
- ```bash
- com.obsproject.Studio permissions:
- ipc network pulseaudio wayland
- x11 devices file access [1] dbus access [2]
- system dbus access [3]
-
- [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
- [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
- org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
- [3] org.freedesktop.Avahi
-
- ID Branch Op Remote Download
- 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
- 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
- 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
- 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
- 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
- 6. org.kde.Platform 6.6 i flathub < 325.0 MB
- 7. com.obsproject.Studio stable i flathub < 207.7 MB
-
- Proceed with these changes to the system installation? [Y/n]:
- ```
+ ```bash
+ com.obsproject.Studio permissions:
+ ipc network pulseaudio wayland
+ x11 devices file access [1] dbus access [2]
+ system dbus access [3]
+
+ [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
+ [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
+ org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
+ [3] org.freedesktop.Avahi
+
+ ID Branch Op Remote Download
+ 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
+ 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
+ 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
+ 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
+ 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
+ 6. org.kde.Platform 6.6 i flathub < 325.0 MB
+ 7. com.obsproject.Studio stable i flathub < 207.7 MB
+
+ Proceed with these changes to the system installation? [Y/n]:
+ ```
6. Якщо відповісти «Y» і натиснути ++enter++, системні дозволи будуть змінені, як зазначено, і встановлено програму.
7. Якщо все піде добре, ви повинні отримати:
- ```text
- Installation complete.
- ```
+ ```text
+ Installation complete.
+ ```
8. Тепер у меню «Activities» ви зможете шукати та запускати OBS Studio.
diff --git a/docs/desktop/gnome/valuta.de.md b/docs/desktop/gnome/valuta.de.md
index bfcf3010dc..88974d4958 100644
--- a/docs/desktop/gnome/valuta.de.md
+++ b/docs/desktop/gnome/valuta.de.md
@@ -22,19 +22,19 @@ Für diese Anleitung benötigen Sie Folgendes:
1. Gehen Sie zu [Flathub.org] (https://flathub.org), geben Sie `Valuta` in die Suchleiste ein und klicken Sie auf **Install**
- 
+ 
2. Kopieren Sie das manuelle Skript in Ihr Terminal:
- ```bash
- flatpak install flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak install flathub io.github.idevecore.Valuta
+ ```
3. Führen Sie anschließend das manuelle Installationsskript in Ihrem Terminal aus:
- ```bash
- flatpak run flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak run flathub io.github.idevecore.Valuta
+ ```
## Wie funktioniert es?
@@ -42,7 +42,7 @@ Um `Valuta` zu verwenden, gehen Sie wie folgt vor:
1. Wählen Sie im Dropdown-Menü Ihr Land aus und geben Sie den Betrag ein, den Sie ausgeben möchten.
- 
+ 
2. Wählen Sie aus dem Dropdown-Menü das Land aus, in das Sie reisen. Der umgerechnete Betrag wird automatisch angezeigt.
diff --git a/docs/desktop/gnome/valuta.fr.md b/docs/desktop/gnome/valuta.fr.md
index 755ff2d7f2..272204d72a 100644
--- a/docs/desktop/gnome/valuta.fr.md
+++ b/docs/desktop/gnome/valuta.fr.md
@@ -22,19 +22,19 @@ Ce guide suppose que vous disposez de la configuration suivante :
1. Accédez à [Flathub.org](https://flathub.org), tapez `Valuta` dans la barre de recherche et cliquez sur **Install**
- 
+ 
2. Copiez le script d'installation manuelle dans un terminal :
- ```bash
- flatpak install flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak install flathub io.github.idevecore.Valuta
+ ```
3. Enfin, exécutez le script d'installation manuelle dans votre terminal :
- ```bash
- flatpak run flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak run flathub io.github.idevecore.Valuta
+ ```
## Mode d'emploi
@@ -42,7 +42,7 @@ Pour utiliser le programme `Valuta`, procédez comme suit :
1. Choisissez votre pays dans le menu déroulant et saisissez le montant en espèces que vous souhaitez dépenser.
- 
+ 
2. Choisissez le pays vers lequel vous voyagez dans le menu déroulant. À partir de là, le montant converti apparaît automatiquement.
diff --git a/docs/desktop/gnome/valuta.it.md b/docs/desktop/gnome/valuta.it.md
index ee7aa92446..2938b0328b 100644
--- a/docs/desktop/gnome/valuta.it.md
+++ b/docs/desktop/gnome/valuta.it.md
@@ -22,19 +22,19 @@ Questa guida presuppone che si disponga di quanto segue:
1. Andate su [Flathub.org](https://flathub.org), digitate "Valuta" nella barra di ricerca e cliccate su **Installa**
- 
+ 
2. Copiare lo script manuale nel terminale:
- ```bash
- flatpak install flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak install flathub io.github.idevecore.Valuta
+ ```
3. Infine, lo script manuale nel terminale:
- ```bash
- flatpak run flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak run flathub io.github.idevecore.Valuta
+ ```
## Guida all'uso
@@ -42,7 +42,7 @@ Per utilizzare Valuta, procedere come segue:
1. Scegliete il vostro Paese dal menu a tendina e digitate il denaro che volete spendere.
- 
+ 
2. Selezionare il Paese in cui si viaggia dal menu a discesa. L'importo convertito apparirà automaticamente.
diff --git a/docs/desktop/gnome/valuta.uk.md b/docs/desktop/gnome/valuta.uk.md
index d6fed5e0e9..62b5aa4f0a 100644
--- a/docs/desktop/gnome/valuta.uk.md
+++ b/docs/desktop/gnome/valuta.uk.md
@@ -22,19 +22,19 @@ contributors: Steven Spencer, Ganna Zhyrnova
1. Перейдіть на [Flathub.org](https://flathub.org), введіть «Valuta» в рядку пошуку та натисніть **Install**
- 
+ 
2. Скопіюйте скрипт у свій термінал:
- ```bash
- flatpak install flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak install flathub io.github.idevecore.Valuta
+ ```
3. Нарешті, скрипт у вашому терміналі:
- ```bash
- flatpak run flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak run flathub io.github.idevecore.Valuta
+ ```
## Як використовувати
@@ -42,7 +42,7 @@ contributors: Steven Spencer, Ganna Zhyrnova
1. Виберіть свою країну зі спадного меню та введіть суму готівки, яку хочете витратити.
- 
+ 
2. Виберіть країну, до якої ви подорожуєте, зі спадного меню. Звідти автоматично з’являється конвертована сума.
diff --git a/docs/desktop/index.de.md b/docs/desktop/index.de.md
index a2aa5a6c58..f204096686 100644
--- a/docs/desktop/index.de.md
+++ b/docs/desktop/index.de.md
@@ -1,7 +1,7 @@
---
title: Desktop
author: Steven Spencer
-contributors: null
+contributors:
---
## Einleitung
diff --git a/docs/desktop/index.fr.md b/docs/desktop/index.fr.md
index ac0bd9b547..a1556395c1 100644
--- a/docs/desktop/index.fr.md
+++ b/docs/desktop/index.fr.md
@@ -1,7 +1,7 @@
---
title: Environnement de Bureau
author: Steven Spencer
-contributors: null
+contributors:
---
## Introduction
diff --git a/docs/desktop/index.it.md b/docs/desktop/index.it.md
index 8fcce52650..359c745580 100644
--- a/docs/desktop/index.it.md
+++ b/docs/desktop/index.it.md
@@ -1,7 +1,7 @@
---
title: Desktop
author: Spencer Steven
-contributors: null
+contributors:
---
## Introduzione
diff --git a/docs/desktop/index.uk.md b/docs/desktop/index.uk.md
index 940d607d3e..bac2918c97 100644
--- a/docs/desktop/index.uk.md
+++ b/docs/desktop/index.uk.md
@@ -1,7 +1,7 @@
---
title: Робочий стіл
author: Steven Spencer
-contributors: null
+contributors:
---
## Вступ
diff --git a/docs/desktop/printing/brother-all-in-one.de.md b/docs/desktop/printing/brother-all-in-one.de.md
index 380a2bcf50..f6e37a8694 100644
--- a/docs/desktop/printing/brother-all-in-one.de.md
+++ b/docs/desktop/printing/brother-all-in-one.de.md
@@ -40,9 +40,9 @@ Es wird ein Softwarefenster geöffnet, das versucht, Druckertreiber zu finden un
## Herunterladen und Installieren der Treiber
-Anleitung zur Installation des Brother-Treiberinstallationsskripts:{target="_blank"}
+[Anleitung zur Installation des Brother-Treiberinstallationsskripts:](https://support.brother.com/g/b/downloadlist.aspx?&c=us&lang=en&prod=mfcj480dw_us_eu_as&os=127){target="_blank"}
-1. Laden Sie das Bash-Skript für den Brother MFC-J480DW-Druckertreiber herunter{target="_blank"}
+1. [Laden Sie das Bash-Skript für den Brother MFC-J480DW-Druckertreiber herunter](https://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=mfcj480dw_us_eu_as){target="_blank"}
2. Öffnen Sie ein Terminalfenster.
diff --git a/docs/desktop/printing/brother-all-in-one.fr.md b/docs/desktop/printing/brother-all-in-one.fr.md
index 09711cb92d..b861ecd6ec 100644
--- a/docs/desktop/printing/brother-all-in-one.fr.md
+++ b/docs/desktop/printing/brother-all-in-one.fr.md
@@ -40,9 +40,9 @@ Une fenêtre Logiciel s'ouvre pour tenter de localiser et d'installer les pilote
## Téléchargement et Installation de Pilotes
-Brother Driver Installer Script Installation Instructions:{target="_blank"}
+[Brother Driver Installer Script Installation Instructions:](https://support.brother.com/g/b/downloadlist.aspx?&c=us&lang=en&prod=mfcj480dw_us_eu_as&os=127){target="_blank"}
-1. Download the Brother MFC-J480DW Printer driver bash script{target="_blank"}
+1. [Download the Brother MFC-J480DW Printer driver bash script](https://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=mfcj480dw_us_eu_as){target="_blank"}
2. Ouvrez une fenêtre de terminal.
diff --git a/docs/desktop/printing/brother-all-in-one.it.md b/docs/desktop/printing/brother-all-in-one.it.md
index a864eb7212..2081d9121f 100644
--- a/docs/desktop/printing/brother-all-in-one.it.md
+++ b/docs/desktop/printing/brother-all-in-one.it.md
@@ -40,9 +40,9 @@ Si apre una finestra Software che tenta di individuare ed installare i driver de
## Scaricare e installare i drivers
-Istruzioni per l'installazione di Brother Driver Installer Script:{target="_blank"}
+[Istruzioni per l'installazione di Brother Driver Installer Script:](https://support.brother.com/g/b/downloadlist.aspx?&c=us&lang=en&prod=mfcj480dw_us_eu_as&os=127){target="_blank"}
-1. Scaricare lo script di bash per il driver della Brother MFC-J480DW{target="_blank"}
+1. [Scaricare lo script di bash per il driver della Brother MFC-J480DW](https://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=mfcj480dw_us_eu_as){target="_blank"}
2. Aprire la finestra del terminale.
diff --git a/docs/desktop/printing/brother-all-in-one.uk.md b/docs/desktop/printing/brother-all-in-one.uk.md
index a8b21c65d3..6a8ceb94c4 100644
--- a/docs/desktop/printing/brother-all-in-one.uk.md
+++ b/docs/desktop/printing/brother-all-in-one.uk.md
@@ -40,9 +40,9 @@ tags:
## Завантаження та встановлення драйверів
-Інструкції зі встановлення сценарію встановлення драйвера Brother:{target="_blank"}
+[Інструкції зі встановлення сценарію встановлення драйвера Brother:](https://support.brother.com/g/b/downloadlist.aspx?&c=us&lang=en&prod=mfcj480dw_us_eu_as&os=127){target="_blank"}
-1. Завантажте сценарій bash для драйвера принтера Brother MFC-J480DW{target="_blank"}
+1. [Завантажте сценарій bash для драйвера принтера Brother MFC-J480DW](https://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=mfcj480dw_us_eu_as){target="_blank"}
2. Відкрийте вікно терміналу.
diff --git a/docs/gemstones/containers/docker.it.md b/docs/gemstones/containers/docker.it.md
index 19e7592507..fc13178a3e 100644
--- a/docs/gemstones/containers/docker.it.md
+++ b/docs/gemstones/containers/docker.it.md
@@ -1,7 +1,7 @@
---
title: Installare il Docker Engine
-author: wale soyinka
-contributors:
+author: Wale Soyinka
+contributors: Neel Chauhan, Srinivas Nishant Viswanadha, Stein Arne Storslett, Ganna Zhyrnova, Steven Spencer
date: 2021-08-04
tags:
- docker
@@ -9,42 +9,56 @@ tags:
# Introduzione
-Il Docker Engine può essere utilizzato eseguendo carichi di lavoro per container in stile Docker nativo sui server Rocky Linux. A volte è preferito eseguire l'ambiente Docker Desktop.
+Docker Engine può eseguire carichi di lavoro nativi in stile Docker su server Rocky Linux. A volte è preferibile quando si esegue l'ambiente Docker Desktop completo.
-## Aggiungere il repository docker
+## Aggiungere il repository Docker
-Usa l'utilità dnf per aggiungere il repository docker al tuo server Rocky Linux. Digita:
+Utilizzare l'utilità `dnf` per aggiungere il repository Docker al server Rocky Linux. Digita:
-```
-sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
+```bash
+sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
```
## Installare i pacchetti necessari
-Installare l'ultima versione di Docker Engine, containerd e Docker Compose, digitando:
+Installare l'ultima versione di Docker Engine, `containerd` e Docker Compose, eseguendo:
-```
-sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
+```bash
+sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
-## Avviare e abilitare il servizio docker di systemd (dockerd)
+## Avviare e abilitare Docker`(dockerd`)
-Usare l'utilità `systemctl` per configurare il demone dockerd in modo che si avvii automaticamente al prossimo riavvio del sistema e contemporaneamente si avvii per la sessione corrente. Digita:
+Usare `systemctl` per configurare l'avvio automatico di Docker al riavvio e contemporaneamente avviarlo ora. Digitare:
-```
+```bash
sudo systemctl --now enable docker
```
+## Consentire facoltativamente a un utente non root di gestire docker
-### Note
+Aggiungere un utente non root al gruppo `docker` per consentire all'utente di gestire `docker` senza `sudo`.
-```
-docker-ce : Questo pacchetto fornisce la tecnologia sottostante per costruire ed eseguire docker containers (dockerd)
-docker-ce-cli : Fornisce l'interfaccia a riga di comando (CLI) client docker tool (docker)
-containerd. o : Fornisce l' esecuzione del contenitore (runc)
-docker-compose-plugin : un plugin che fornisce il sottocomando 'docker compose'
+Questo è un passo facoltativo, ma può essere comodo se si è l'utente principale del sistema o se si vuole permettere a più utenti di gestire docker, ma non si vuole concedere loro i permessi `sudo`.
+Digitare:
+
+```bash
+# Add the current user
+sudo usermod -a -G docker $(whoami)
+
+# Add a specific user
+sudo usermod -a -G docker custom-user
```
+Per assegnare il nuovo gruppo, è necessario uscire e rientrare. Verificare con il comando `id` che il gruppo sia stato aggiunto.
+### Note
+```docker
+docker-ce :Questo pacchetto fornisce la tecnologia di base per la creazione e l'esecuzione di contenitori docker (dockerd)
+docker-ce-cli : Fornisce l'interfaccia a riga di comando (CLI) dello strumento docker (docker)
+containerd.io : Fornisce il runtime del contenitore (runc)
+docker-buildx-plugin : Plugin Docker Buildx per la CLI di Docker
+docker-compose-plugin : Un plugin che fornisce il sottocomando "docker compose"
+```
diff --git a/docs/gemstones/containers/podman.it.md b/docs/gemstones/containers/podman.it.md
new file mode 100644
index 0000000000..d615eb5af3
--- /dev/null
+++ b/docs/gemstones/containers/podman.it.md
@@ -0,0 +1,128 @@
+---
+title: Podman
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova, Christian Steinert
+date: 2024-03-07
+tags:
+ - docker
+ - podman
+---
+
+# Introduzione
+
+[Podman](https://podman.io/) è un runtime alternativo per container compatibile con Docker che, a differenza di quest'ultimo, è incluso nei repository Rocky Linux e può eseguire i container come servizio `systemd`.
+
+## Installare `Podman`
+
+Utilizzare l'utility `dnf` per installare Podman:
+
+```bash
+dnf install podman
+```
+
+## Aggiungere un container
+
+Prendiamo come esempio una piattaforma cloud self-hosted [Nextcloud](https://nextcloud.com/):
+
+```bash
+podman run -d -p 8080:80 nextcloud
+```
+
+Verrà richiesto di selezionare il container registry da cui scaricarlo. Nel nostro esempio, si utilizzerà `docker.io/library/nextcloud:latest`.
+
+Una volta scaricato il contenitore Nextcloud, questo verrà eseguito.
+
+Inserite **indirizzo_ip:8080** nel vostro browser web (supponendo di aver aperto la porta in `firewalld`) e configurate Nextcloud:
+
+
+
+## Eseguire contenitori come servizi `systemd`
+
+### Utilizzare `quadlet`
+
+Dalla versione 4.4, Podman viene fornito con [Quadlet](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html), un generatore di systemd che può generare unitary file per servizi systemd rootless e rootful.
+
+I file quadlet per i servizi rootful possono essere presenti in
+
+- `/etc/containers/systemd/`
+- `/usr/share/containers/systemd/`
+
+mentre i file rootless possono essere salvati in alternativa in
+
+- `$XDG_CONFIG_HOME/containers/systemd/` or `~/.config/containers/systemd/`
+- `/etc/containers/systemd/users/$(UID)`
+- `/etc/containers/systemd/users/`
+
+Sono supportati singoli container, pod, immagini, reti, volumi e file kube, ma ritornando all'esempio precedentemente implementato di Nextcloud. Creare un nuovo file `~/.config/containers/systemd/nextcloud.container` con il seguente contenuto:
+
+```systemd
+[Container]
+Image=nextcloud
+PublishPort=8080:80
+```
+
+Sono disponibili [molte altre opzioni](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html#container-units-container).
+
+Per eseguire il generator e far sapere a systemd che c'è un nuovo servizio da eseguire:
+
+```bash
+systemctl --user daemon-reload
+```
+
+Per avviare il servizio, eseguire:
+
+```bash
+systemctl --user start nextcloud.service
+```
+
+!!! note "Nota"
+
+```
+Se si è già creato un file in una delle directory per i servizi rootful, omettere il flag `--user`.
+```
+
+Per eseguire automaticamente il container all'avvio del sistema o al login dell'utente, si può aggiungere un'altra sezione al file `nextcloud.container`:
+
+```systemd
+[Install]
+WantedBy=default.target
+```
+
+Poiché i file del servizio generati sono considerati temporanei, non possono essere abilitati da systemd. Per ovviare a questo problema, il generator applica manualmente le installazioni durante la generazione. In questo modo si abilitano effettivamente anche i file dei servizi.
+
+Sono supportati altri tipi di file: pod, volume, network, image, and kube. [Pods](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html#pod-units-pod), per esempio, può essere usato per raggruppare i container – i servizi systemd generati e le loro dipendenze (creare il pod prima dei container) sono gestiti automaticamente da systemd.
+
+### Utilizzare `podman generate systemd`
+
+Podman fornisce inoltre il sottocomando `generate systemd`. Può essere usato per generare i file di servizio di `systemd`.
+
+!!! warning "Attenzione"
+
+```
+`generate systemd` è ora deprecato e non riceverà ulteriori funzioni. Si raccomanda l'uso di Quadlet.
+```
+
+Ora lo si farà con Nextcloud. Eseguire:
+
+```bash
+podman ps
+```
+
+Si otterrà un elenco di container in esecuzione:
+
+```bash
+04f7553f431a docker.io/library/nextcloud:latest apache2-foregroun... 5 minutes ago Up 5 minutes 0.0.0.0:8080->80/tcp compassionate_meninsky
+```
+
+Come visto sopra, il nome del nostro container è `compassionate_meninsky`.
+
+Per creare un servizio `systemd` per il container Nextcloud e abilitarlo al riavvio, eseguire quanto segue:
+
+```bash
+podman generate systemd --name compassionate_meninsky > /usr/lib/systemd/system/nextcloud.service
+systemctl enable nextcloud
+```
+
+Sostituire `compassionate_meninsky` con il nome assegnato al container.
+
+Quando il sistema si riavvia, Nextcloud si riavvia in Podman.
diff --git a/docs/gemstones/gemstone_template.fr.md b/docs/gemstones/gemstone_template.fr.md
index e1187043f8..2ca2da46e7 100644
--- a/docs/gemstones/gemstone_template.fr.md
+++ b/docs/gemstones/gemstone_template.fr.md
@@ -1,8 +1,7 @@
---
title: Modèle de Gemstone
author: Erika Mustermann
-contributors:
- - Liste des contributeurs séparés par une virgule
+contributors: [ Liste des contributeurs séparés par une virgule ]
tags:
- List
- Of
diff --git a/docs/gemstones/gemstone_template.it.md b/docs/gemstones/gemstone_template.it.md
index e3c0320c61..af37a07554 100644
--- a/docs/gemstones/gemstone_template.it.md
+++ b/docs/gemstones/gemstone_template.it.md
@@ -1,8 +1,7 @@
---
title: Modello di Gemstone semplificato
author: Author's Name
-contributors:
- - Elenco separato da virgole dei collaboratori
+contributors: [ Elenco separato da virgole dei collaboratori ]
tags:
- Lista
- Dei
diff --git a/docs/gemstones/gemstone_template.uk.md b/docs/gemstones/gemstone_template.uk.md
index 350adc9a9b..00e3a3443e 100644
--- a/docs/gemstones/gemstone_template.uk.md
+++ b/docs/gemstones/gemstone_template.uk.md
@@ -1,8 +1,7 @@
---
title: Простий Gemstone шаблон
author: Ім'я автора
-contributors:
- - Список співавторів, розділених комами
+contributors: [ "Список співавторів, розділених комами" ]
tags:
- List
- Of
diff --git a/docs/gemstones/git/01-gh_cli_1st_pr.de.md b/docs/gemstones/git/01-gh_cli_1st_pr.de.md
index 8f14c26886..1d770e3675 100644
--- a/docs/gemstones/git/01-gh_cli_1st_pr.de.md
+++ b/docs/gemstones/git/01-gh_cli_1st_pr.de.md
@@ -1,7 +1,7 @@
---
title: Erster Beitrag zur Rocky Linux-Dokumentation über CLI
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- GitHub
- Rocky Linux
diff --git a/docs/gemstones/git/01-gh_cli_1st_pr.fr.md b/docs/gemstones/git/01-gh_cli_1st_pr.fr.md
index e681b831a1..5958ab0a16 100644
--- a/docs/gemstones/git/01-gh_cli_1st_pr.fr.md
+++ b/docs/gemstones/git/01-gh_cli_1st_pr.fr.md
@@ -1,7 +1,7 @@
---
title: Première contribution à la documentation de Rocky Linux via CLI
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- GitHub
- Rocky Linux
diff --git a/docs/gemstones/git/01-gh_cli_1st_pr.it.md b/docs/gemstones/git/01-gh_cli_1st_pr.it.md
index 149cb6b48e..95d685bcf7 100644
--- a/docs/gemstones/git/01-gh_cli_1st_pr.it.md
+++ b/docs/gemstones/git/01-gh_cli_1st_pr.it.md
@@ -1,7 +1,7 @@
---
title: Primo contributo alla documentazione di Rocky Linux tramite CLI
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- GitHub
- Rocky Linux
diff --git a/docs/gemstones/git/01-gh_cli_1st_pr.uk.md b/docs/gemstones/git/01-gh_cli_1st_pr.uk.md
index d4a9e0d0fc..850136a294 100644
--- a/docs/gemstones/git/01-gh_cli_1st_pr.uk.md
+++ b/docs/gemstones/git/01-gh_cli_1st_pr.uk.md
@@ -1,7 +1,7 @@
---
title: Перший внесок у документацію Rocky Linux через CLI
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- GitHub
- Rocky Linux
diff --git a/docs/gemstones/git/tracking_and_nontracking_branch.fr.md b/docs/gemstones/git/tracking_and_nontracking_branch.fr.md
index 1a2732c298..620d0a4aa0 100644
--- a/docs/gemstones/git/tracking_and_nontracking_branch.fr.md
+++ b/docs/gemstones/git/tracking_and_nontracking_branch.fr.md
@@ -1,7 +1,7 @@
---
title: Tracking vs Non-Tracking Branch avec Git
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- git
- git branch
diff --git a/docs/gemstones/git/tracking_and_nontracking_branch.it.md b/docs/gemstones/git/tracking_and_nontracking_branch.it.md
index 597e2bdf25..c9cbbd8338 100644
--- a/docs/gemstones/git/tracking_and_nontracking_branch.it.md
+++ b/docs/gemstones/git/tracking_and_nontracking_branch.it.md
@@ -1,7 +1,7 @@
---
title: Tracciamento e non tracciamento dei rami in Git
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- git
- git branch
diff --git a/docs/gemstones/git/tracking_and_nontracking_branch.uk.md b/docs/gemstones/git/tracking_and_nontracking_branch.uk.md
index 4a56c1adfc..7bcad4ad81 100644
--- a/docs/gemstones/git/tracking_and_nontracking_branch.uk.md
+++ b/docs/gemstones/git/tracking_and_nontracking_branch.uk.md
@@ -1,7 +1,7 @@
---
title: Відстеження та не слідкування за гілками в Git
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- git
- git branch
diff --git a/docs/guides/backup/dump_restore.uk.md b/docs/guides/backup/dump_restore.uk.md
index ea0bcf516e..df90450a93 100644
--- a/docs/guides/backup/dump_restore.uk.md
+++ b/docs/guides/backup/dump_restore.uk.md
@@ -2,7 +2,7 @@
title: Команди dump та restore
author: tianci li
contributors: Steven Spencer
-tested_with: 8.1
+tested_with: 8.10
tags:
- dump
- restore
diff --git a/docs/guides/backup/tar.uk.md b/docs/guides/backup/tar.uk.md
index 0ede3c7782..877955a600 100644
--- a/docs/guides/backup/tar.uk.md
+++ b/docs/guides/backup/tar.uk.md
@@ -2,7 +2,7 @@
title: Команда tar
author: tianci li
contributors: Ganna Zhyrnova
-tested_with: 8.1
+tested_with: 8.10
tags:
- tar
- резервне копіювання
diff --git a/docs/guides/containers/podman-nextcloud.it.md b/docs/guides/containers/podman-nextcloud.it.md
index fa07a3be08..be7248c831 100644
--- a/docs/guides/containers/podman-nextcloud.it.md
+++ b/docs/guides/containers/podman-nextcloud.it.md
@@ -37,13 +37,13 @@ La maggior parte dei comandi della guida può essere eseguita manualmente, ma la
Ecco tutto ciò che vi serve, o che dovete sapere, per far funzionare questa guida:
-* Familiarità con la riga di comando, gli script bash e la modifica dei file di configurazione di Linux.
-* Accesso SSH se si lavora su un computer remoto.
-* Un editor di testo a riga di comando di vostra scelta. In questa guida utilizzeremo `vi`.
-* Una macchina Rocky Linux connessa a Internet (anche in questo caso, un Raspberry Pi può andare bene).
-* Molti di questi comandi devono essere eseguiti come root, quindi è necessario avere un utente root o con capacità sudo sulla macchina.
-* La familiarità con i server web e MariaDB sarebbe sicuramente utile.
-* La familiarità con i container e magari con Docker sarebbe *indubbiamente* un vantaggio ma non è strettamente essenziale.
+- Familiarità con la riga di comando, gli script bash e la modifica dei file di configurazione di Linux.
+- Accesso SSH se si lavora su un computer remoto.
+- Un editor di testo a riga di comando di vostra scelta. In questa guida utilizzeremo `vi`.
+- Una macchina Rocky Linux connessa a Internet (anche in questo caso, un Raspberry Pi può andare bene).
+- Molti di questi comandi devono essere eseguiti come root, quindi è necessario avere un utente root o con capacità sudo sulla macchina.
+- La familiarità con i server web e MariaDB sarebbe sicuramente utile.
+- La familiarità con i container e magari con Docker sarebbe *indubbiamente* un vantaggio ma non è strettamente essenziale.
## Passo 01: Installare `podman` e `buildah`
@@ -75,7 +75,7 @@ vi /etc/containers/registries.conf
Trovate la sezione che assomiglia a quella che vedete qui sotto. Se è commentato, decommentarlo.
-```
+```bash
[registries.insecure]
registries = ['registry.access.redhat.com', 'registry.redhat.io', 'docker.io']
insecure = true
@@ -109,7 +109,7 @@ vi Dockerfile
Copiare e incollare il seguente testo nel nuovo file Docker.
-```
+```docker
FROM rockylinux/rockylinux:latest
ENV container docker
RUN yum -y install epel-release ; yum -y update
@@ -137,7 +137,7 @@ vi build.sh
Quindi incollare questo contenuto:
-```
+```bash
#!/bin/bash
clear
buildah rmi `buildah images -q base` ;
@@ -163,10 +163,10 @@ Attendere che sia terminato e passare alla fase successiva.
Per gli scopi di questa guida, manteniamo la configurazione del database il più semplice possibile. Si consiglia di tenere traccia dei seguenti elementi e di modificarli se necessario:
-* Nome del database: ncdb
-* Utente del database: nc-user
-* Pass per il database: nc-pass
-* L'indirizzo IP del vostro server (di seguito utilizzeremo un IP di esempio)
+- Nome del database: ncdb
+- Utente del database: nc-user
+- Pass per il database: nc-pass
+- L'indirizzo IP del vostro server (di seguito utilizzeremo un IP di esempio)
Per prima cosa, spostarsi nella cartella in cui si costruirà l'immagine di db-tools:
@@ -182,7 +182,7 @@ vi db-create.sh
Ora copiate e incollate il seguente codice nel file, utilizzando il vostro editor di testo preferito:
-```
+```bash
#!/bin/bash
mysql -h 10.1.1.160 -u root -p rockylinux << eof
create database ncdb;
@@ -199,7 +199,7 @@ vi db-drop.sh
Copiate e incollate questo codice nel nuovo file:
-```
+```bash
#!/bin/bash
mysql -h 10.1.1.160 -u root -p rockylinux << eof
drop database ncdb;
@@ -215,7 +215,7 @@ vi Dockerfile
Copia e incolla:
-```
+```docker
FROM localhost/base
RUN yum -y install mysql
WORKDIR /root
@@ -231,7 +231,7 @@ vi build.sh
Il codice che si desidera ottenere:
-```
+```bash
#!/bin/bash
clear
buildah rmi `buildah images -q db-tools` ;
@@ -271,7 +271,7 @@ Ed ecco il codice necessario:
Ai fini di questa guida, il seguente script cancellerà tutti i Volumi Podman. Se ci sono altre applicazioni in esecuzione con i propri volumi, modificare/commentare la riga "podman volume rm --all";
-```
+```bash
#!/bin/bash
clear
echo " "
@@ -302,7 +302,7 @@ vi db-reset.sh
Ed ecco il codice:
-```
+```bash
#!/bin/bash
clear
echo " "
@@ -322,7 +322,7 @@ vi build.sh
With its code:
-```
+```bash
#!/bin/bash
clear
buildah rmi `buildah images -q mariadb` ;
@@ -332,7 +332,7 @@ buildah images -a
Ora create il vostro DockferFile (`vi Dockerfile`) e incollate la seguente singola riga:
-```
+```docker
FROM arm64v8/mariadb
```
@@ -364,7 +364,7 @@ vi Dockerfile
E incollare questo pezzo:
-```
+```docker
FROM arm64v8/nextcloud
```
@@ -376,7 +376,7 @@ vi build.sh
E incollare questo codice:
-```
+```bash
#!/bin/bash
clear
buildah rmi `buildah images -q nextcloud` ;
@@ -398,7 +398,7 @@ vi run.sh
Ecco tutto il codice necessario per farlo. Assicurarsi di cambiare l'indirizzo IP di `MYSQL_HOST` con il container docker su cui è in esecuzione l'istanza di MariaDB.
-```
+```bash
#!/bin/bash
clear
echo " "
@@ -430,7 +430,7 @@ chmod +x *.sh
Per assicurarsi che tutte le immagini siano state costruite correttamente, eseguire `podman images`. Dovrebbe apparire un elenco simile a questo:
-```
+```bash
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/db-tools latest 8f7ccb04ecab 6 days ago 557 MB
localhost/base latest 03ae68ad2271 6 days ago 465 MB
@@ -446,13 +446,13 @@ Se tutto sembra corretto, eseguite lo script finale per avviare Nextcloud:
Quando si esegue `podman ps -a`, si dovrebbe vedere un elenco di container in esecuzione che assomiglia a questo:
-```
+```bash
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9518756a259a docker.io/arm64v8/mariadb:latest mariadbd 3 minutes ago Up 3 minutes ago mariadb
32534e5a5890 docker.io/arm64v8/nextcloud:latest apache2-foregroun... 12 seconds ago Up 12 seconds ago nextcloud
```
-Da qui, si dovrebbe essere in grado di puntare il browser all'indirizzo IP del server. Se state seguendo e avete lo stesso IP del nostro esempio, potete sostituirlo qui (ad esempio, http://your-server-ip) e vedere Nextcloud in funzione.
+Da qui, si dovrebbe essere in grado di puntare il browser all'indirizzo IP del server. Se state seguendo e avete lo stesso IP del nostro esempio, potete sostituirlo qui (ad esempio, ) e vedere Nextcloud in funzione.
## Conclusione
diff --git a/docs/guides/network/accel-ppp_pppoe_server.fr.md b/docs/guides/network/accel-ppp_pppoe_server.fr.md
index 39ac9fb08f..e44c222a7b 100644
--- a/docs/guides/network/accel-ppp_pppoe_server.fr.md
+++ b/docs/guides/network/accel-ppp_pppoe_server.fr.md
@@ -1,7 +1,7 @@
---
title: accel-ppp – Serveur PPPoE
author: Neel Chauhan
-contributors: null
+contributors:
tested_with: 9.3
tags:
- réseau
diff --git a/docs/guides/network/accel-ppp_pppoe_server.uk.md b/docs/guides/network/accel-ppp_pppoe_server.uk.md
index ad480685da..9244edb580 100644
--- a/docs/guides/network/accel-ppp_pppoe_server.uk.md
+++ b/docs/guides/network/accel-ppp_pppoe_server.uk.md
@@ -1,7 +1,7 @@
---
title: accel-ppp PPPoE Server
author: Neel Chauhan
-contributors: null
+contributors:
tested_with: 9.3
tags:
- мережа
diff --git a/docs/guides/network/glances_network_monitoring.uk.md b/docs/guides/network/glances_network_monitoring.uk.md
index e1fc946a0d..7bae8a683d 100644
--- a/docs/guides/network/glances_network_monitoring.uk.md
+++ b/docs/guides/network/glances_network_monitoring.uk.md
@@ -2,7 +2,7 @@
title: Моніторинг мережі та ресурсів з Glances
author: Alex Zolotarov
contributors: Steven Spencer
-tested_with: 9
+tested_with: 9.0
tags:
- моніторинг
- мережа
diff --git a/docs/guides/proxies/i2pd.uk.md b/docs/guides/proxies/i2pd.uk.md
index 921a4a9490..f3f4b76325 100644
--- a/docs/guides/proxies/i2pd.uk.md
+++ b/docs/guides/proxies/i2pd.uk.md
@@ -1,7 +1,7 @@
---
title: Анонімна мережа i2pd
author: Neel Chauhan
-contributors: null
+contributors:
tested_with: 9.3
tags:
- proxy
diff --git a/docs/release_notes/10_0.de.md b/docs/release_notes/10_0.de.md
new file mode 100644
index 0000000000..5cf8a9ff40
--- /dev/null
+++ b/docs/release_notes/10_0.de.md
@@ -0,0 +1,282 @@
+---
+title: Aktuelle Version 10
+tags:
+ - 10
+ - 10.0 Version
+ - Rocky Linux 10
+---
+
+## Rocky Linux 10
+
+Rocky Linux 10 (RL 10) ist die neueste Hauptversion des Enterprise-Betriebssystems von Rocky Linux.
+
+### Upgrade auf Rocky Linux 10
+
+Rocky Linux unterstützt keine Upgrades auf Hauptversionen. Um von 8.x oder 9.x auf Rocky Linux 10 zu wechseln, sollten Sie eine Neuinstallation des Betriebssystems durchführen.
+
+### Neue Funktionen und Änderungen
+
+In den folgenden Abschnitten werden ausgewählte Funktionen von RL 10 beschrieben.
+
+Wie bei allen wichtigen Rocky Linux-Versionen umfasst diese Versionsnotiz zahlreiche Verbesserungen, Änderungen und neue Funktionen.
+
+Die folgende Übersicht hebt Änderungen in den folgenden Kategorien hervor: Architektur, Kernel, Installation, Netzwerk, Sicherheit, Virtualisierung, Container, Speicher und Paketverwaltung. Hier werden die Funktionen ausgewählt, die für einen allgemeinen Anwenderkreis am wahrscheinlichsten relevant sind.
+
+Eine vollständige Liste der wichtigsten Änderungen finden Sie in der Upstream-Liste [hier](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/10.0_release_notes/overview#overview-major-changes).
+
+### Unterstützte Architekturen
+
+!!! warning "Bitte überprüfen Sie die CPU-Kompatibilität"
+
+ Auf der x86_64-Prozessorarchitektur unterstützt RL 10 keine Hardware der Mikroarchitekturebene x86-64-v2 und früher mehr und legt die Mikroarchitekturebene x86-64-v3 als Basis für die Verteilung fest.
+ Weitere Informationen finden Sie im Abschnitt [Unterstützte Mikroarchitekturebenen](#supported-microarchitecture-levels), insbesondere im Abschnitt zum Testen der CPU-Kompatibilität.
+
+!!! info "Einstellung der 32-Bit-Pakete"
+
+ Rocky Linux 10 hat die 32-Bit-Kompatibilität für x86_64 entfernt. Verwenden Sie stattdessen 64-Bit-Bibliotheken oder Container mit 32-Bit-Abhängigkeiten.
+
+Rocky Linux 10 wird auf den folgende Prozessorarchitekturen unterstützt:
+
+- 64-bit AMD/Intel x86-64-v3 (x86_64)
+- 64-bit RISC-V (riscv64)
+- 64-bit ARMv8.0-A (aarch64)
+- IBM POWER9, little endian (ppc64le)
+- IBM z14 (s390x)
+
+#### Brandneue Unterstützung für die RISC-V-Architektur
+
+Das Rocky Linux Release Engineering-Team hat lange und hart daran gearbeitet, Rocky Linux 10 auf bestimmte RISC-V-Implementierungen zu bringen.
+Zu den am Veröffentlichungstag unterstützten Plattformen/Subsystemen gehören StarFive VisionFive 2 (VF2), **QEMU** und SiFive HiFive Premier P550.
+
+Weitere Einzelheiten zu diesem Meilenstein, einschließlich der RISC-V-Unterstützung von RL10, finden Sie auf [dieser Site](https://rockylinux.org/news/rockylinux-support-for-riscv).
+
+#### Unterstützte Mikroarchitekturebenen
+
+Die x86-64-v3-Mikroarchitektur basiert auf dem Funktionsumfang der Intel Haswell-Prozessorgeneration. Eine Handvoll Intel Atom-Prozessoren (wie die Prozessoren der Gracemont-Familie) unterstützen x86-64-v3. Im Gegensatz dazu bieten andere, darunter Prozessoren der Intel Atom Parker Ridge-Familie und der Prozessor der Intel Atom x6416RE Elkhart Lake-Familie, keine x86-64-v3-Funktionen und werden daher in RL 10 nicht unterstützt. Wenn Sie an der Kompatibilität Ihres Prozessors zweifeln, können Sie dies [mit diesem Verfahren](https://docs.rockylinux.org/gemstones/test_cpu_compat/) überprüfen.
+
+AMDs Implementierung der Mikroarchitekturebene x86-64-v3, die als Grundlage für Rocky Linux 10 auf x86_64 dient, wurde mit der Excavator-Mikroarchitektur eingeführt. Dies bedeutet, dass Prozessoren, die älter sind als die auf der Excavator-Architektur basierenden, möglicherweise nicht vollständig von Rocky Linux 10 unterstützt werden.
+
+!!! note "Raspberry Pi-Images-Unterschiede"
+
+ Der Hauptunterschied zwischen den Rocky Linux Pi-Images für Version 10 besteht darin, dass 10 Pi 4 und Pi 5 unterstützt, während 9 Pi 3, Pi 4, Pi 5 und Pi Zero 2W unterstützt.
+
+### Installation und Image-Erstellung
+
+Anaconda, die interaktive grafische Benutzeroberfläche für das Rocky Linux-Installationsprogramm, weist in Version 10 eine Reihe von Änderungen auf.
+
+Zu den wichtigsten Änderungen gehören folgende:
+
+- Die standardmäßige Deaktivierung des Root-Kontos. Für die Systemverwaltung ist die Erstellung eines Administratorbenutzers mit vollständigen sudo-Berechtigungen erforderlich. Wenn Sie das Root-Konto durch Festlegen seines Kennworts aktivieren, können Sie Standardbenutzer ohne Administratorrechte erstellen.
+- Remote Desktop Protocol (RDP) ersetzt VNC für den grafischen Fernzugriff während des Installationsvorgangs. Diese Änderung betrifft die dazugehörigen Kernel-Bootoptionen.
+- Entfernen der Zeitzonenkarte im Abschnitt „Uhrzeit und Datum“ des Installationsprogramms.
+- Die grafische Benutzeroberfläche unterstützt das Hinzufügen von Drittanbieter-Repositorys während der Erstinstallation nicht mehr. Verwenden Sie stattdessen die Boot-Option `inst.addrepo` oder Kickstart.
+- Entfernung der Dokumentation, die zum Zeitpunkt der Installation verfügbar war.
+
+### Kernel
+
+Der standardmäßige Out-of-Box-Kernel für RL 10 wurde auf Version 6.12.0 aktualisiert.
+
+Einige Kernelfunktionen sind jetzt deaktiviert, da sie nicht mehr gewartet werden, unsicher oder veraltet sind.
+
+Das Kernel-Befehlszeilenargument `rh_waived` kann diese Funktionen bei Bedarf aktivieren. Earliest Eligible Virtual Deadline First (EEVDF), das latenzempfindliche Aufgaben mit kürzeren Zeitscheiben priorisiert, um die Reaktionsfähigkeit zu verbessern, ersetzt den CFS-Scheduler.
+
+### Netzwerk
+
+Zu den Verbesserungen der Netzwerkfunktionen in RL 10 gehören Änderungen an der Netzwerkkonfiguration, der Netzwerkschnittstellenaggregation, DHCP-Clients und -Servern sowie Ergänzungen und Entfernungen von Gerätetreibern.
+
+#### NetworkManager und Netzwerk-Scripte
+
+Die alten `ifcfg-rh`-Netzwerkskripte wurden in früheren Versionen von Rocky Linux (9.x) nicht mehr unterstützt. Mit Rocky Linux 10 sind diese Skripte nicht mehr verfügbar.
+
+Sie müssen nun den NetworkManager verwenden. Zu diesen Tools gehören `nmcli`, `nmtui` und `nmstate`. Dies bedeutet, dass einige ältere Dateien und Befehle nicht mehr funktionieren und sich auch der Speicherort Ihrer Netzwerkkonfigurationsdateien geändert hat.
+
+- Dateien mit dem Präfix `ifcfg-` im Verzeichnis /etc/sysconfig/network-scripts/ werden nicht unterstützt.
+- Die Befehle `ifup` und `ifdown` sind nicht mehr verfügbar.
+- Ältere Netzwerkskripte wie `ifup-local` werden nicht mehr unterstützt.
+- Netzwerkkonfigurationsdateien werden im Ordner /etc/NetworkManager/system-connections/ gespeichert.
+
+#### DHCP Client und Server
+
+Die Implementierung des DHCP-Clients in RL 10 erfolgt über ein internes Subsystem von NetworkManager. Das alte dhcp-Client-Paket wurde entfernt und wird vom Upstream nicht mehr unterstützt.
+
+Kea DHCP ersetzt den veralteten ISC DHCP-Server in RL 10.
+
+#### Netzwerk-Bonding und Teaming
+
+In früheren Versionen von Rocky Linux wurde das NIC-Teaming-Feature obsolet. In RL 10 wird dies nun vollständig entfernt. Konfigurieren Sie als Ersatz eine Bond-Verbindung anstelle eines Netzwerkteams.
+
+### Speicher
+
+Zusätzlich zu den folgenden Änderungen werden mehrere speicher-bezogene Gerätetreiber zu RL 10 hinzugefügt, aktualisiert oder daraus entfernt.
+
+#### Global File System 2 (GFS2)
+
+RL 10 unterstützt das GFS2-Dateisystem nicht mehr.
+
+#### Device Mapper Multipath
+
+Die Aktivierung von Device Mapper (DM) Multipath auf NVMe-Geräten wird von RL 10 nicht unterstützt.
+
+#### LUKS2-Festplatten-Verschlüsselung
+
+Das Cryptsetup-Paket wurde auf Version 2.7 umgestellt, um Probleme zu beheben und LUKS-verschlüsselte Geräte bei Verwendung des Kernel-Dump-Dienstes (kdump) zu unterstützen.
+
+### Sicherheit-Features
+
+Mit RL 10 werden zahlreiche neue sicherheitsrelevante Funktionen eingeführt.
+
+Zu den Updates gehören unter anderem:
+
+- Systemweite kryptografische Richtlinien (crypto-policies): OpenSSL und OpenSSH arbeiten jetzt mit Post-Quantum Cryptography (PQC).
+- Sequoia PGP: Eine speicherfreie Implementierung von OpenPGP.
+- OpenSSH: Die Wiederherstellung strengerer SSH-Hostschlüsselberechtigungen. (Neue Berechtigungen = 0600 vs. alte Berechtigungen = 0640).
+- GnuTLS: Client- und Server-Zertifikate sind jetzt komprimiert
+- yescrypt-Algorithmus: Der Passwort-Algorithmus für den Standardbenutzer wird geändert.
+
+Zu den neuen SELinux-Änderungen gehören die folgenden Updates:
+
+- Die Äquivalenz des Dateikontexts wird in /var/run = /run umgekehrt.
+- Das Hinzufügen neuer libvirt-Diensttypen zur SELinux-Richtlinie.
+
+### Virtualisierung
+
+Bei der Virtualisierung kommt es zu wichtigen Änderungen:
+
+- Der monolithische libvirtd-Daemon ist veraltet. Verwenden Sie als Ersatz die modularen Daemons und Sockets. Eine ausführliche Dokumentation zu den Unterschieden finden Sie in der [Upstream-Dokumentation](https://libvirt.org/daemons.html#monolithic-vs-modular-daemons)
+- Der virtuelle Maschinentyp i440fx ist nun obsolet
+- Virtual Machine Manager ist nun obsolet, Cockpit ist der vorgesehene Ersatz
+
+### Container
+
+Podman 5 in RL 10 führt mehrere Verbesserungen ein, darunter die neue Standard-Container-Laufzeitumgebung `crun`, die `runc` ersetzt. Control Groups v2 ist jetzt die Standard-cgroup-Version.
+
+Zu den wichtigsten Updates gehören die Abschaffung des Netzwerkmodus slirp4netns, die Möglichkeit, Wiederholungsversuche und Verzögerungen für Push- und Pull-Vorgänge von Images zu konfigurieren, sowie umfassende Unterstützung für Container-Images mit mehreren Architekturen.
+
+Darüber hinaus unterstützt Podman 5 weiterhin Quadlets, eine in Podman 4.4 eingeführte Funktion, die die Verwaltung von Podman-Containern mit „systemd“ unter Verwendung deklarativer Unit-Dateien ermöglicht.
+
+### Softwareverwaltung
+
+RPM liegt jetzt in der Version 4.19 vor, die Verbesserungen und Aktualisierungen für Verpackungs- und Erstellungstools enthält. Es wurde ein neuer Befehl \`rpmsort eingeführt, um RPM-Versionszeichenfolgen in Ausgabepipelines korrekt zu sortieren. Als Beispiel:
+
+Das Alte `sort`: `rpm -q kernel | sort`\
+kernel-6.12.0-130.el10.x86_64\
+kernel-6.12.0-13.el10.x86_64
+
+Das neue `rpmsort`: `rpm -q kernel | rpmsort`\
+kernel-6.12.0-13.el10.x86_64\
+kernel-6.12.0-130.el10.x86_64
+
+#### DNF
+
+Standardmäßig unterlässt DNF jetzt das Herunterladen von Metadaten der Repository-Dateiliste, wodurch die Reaktionsfähigkeit verbessert und Speicherplatz gespart wird. DNF-Befehle, die diese Metadaten benötigen, laden sie im Allgemeinen automatisch herunter.
+
+#### Modularität
+
+Die DNF-Modularität ist obsolet und Rocky Linux beabsichtigt nicht, AppStream-Inhalte als Module in RL 10 bereitzustellen. In Zukunft könnte RL 10 zusätzliche Anwendungsversionen als RPM-Pakete, Software-Kollektionen oder Flatpaks bereitstellen.
+
+Mit anderen Worten: Der Befehl `dnf module` wurde in RL 10 abgeschafft, da der DNF-Paketmanager der nächsten Generation (`dnf5`) die API vereinheitlicht hat und sich nicht mehr auf die alte modulare Architektur verlässt, um mehrere Versionen der Software zu verwalten. Die relevanten Vergleiche sind folgende:
+
+| Beschreibung | Alt (`dnf module`) | Neu |
+| :-----------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------: | :---------------------------- |
+| Verfügbare Versionen anzeigen | `dnf module list ` | `dnf repoquery ` |
+| Installation einer bestimmten Version | `dnf module enable nginx:1.14 && dnf module install nginx:1.14` | `dnf install nginx-1.26.3` |
+| Löschen einer bestimmten Version | `dnf -y module remove --all :` oder `dnf -y module remove --all :/` | `dnf remove -` |
+| Wechseln zu einer bestimmten Version | `dnf -y module remove --all : && dnf module reset && dnf module enable :` | Nicht relevant |
+
+### Desktop-Umgebung
+
+In RL 10 ersetzt Wayland den X.Org-Server. Xwayland unterstützt die meisten X11-Clients, die noch nicht auf Wayland portiert wurden. Einige Desktopanwendungen und -komponenten werden in RL 10 ebenfalls ersetzt.
+
+#### Änderungen an Desktop-Komponenten
+
+| Entfernt | Ersetzt durch |
+| :-------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------- |
+| gedit text editor | GNOME Text-Editor (gnome-text-editor) |
+| Tweaks-Applikation | Verwenden Sie die Tweaks-Optionen in den GNOME-Einstellungen und/oder verwenden Sie das Flatpak auf Flathub |
+| Festival Speech Synthesizer | Espeak NG |
+| Eye of GNOME (eog) image viewer | GNOME Image-Viewer (loupe) |
+| Cheese camera-Applikation | Snapshot-Applikation |
+| GNOME Terminal | ptyxis-Terminal |
+| PulseAudio-Daemon (aber nicht die Client-Schnittstellen) | Pipewire (war bereits in RL 9 der Standard) |
+
+Mehrere grafische Desktop-Anwendungen sind nicht mehr in der Rocky Linux 10-Distribution enthalten. In den meisten Fällen können Sie diese Anwendungen aus Upstream-Quellen oder als Flatpak auf Flathub beziehen.
+
+#### Entfernte Anwendungen
+
+| Entfernt | Ersatz |
+| :------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| LibreOffice Office productivity Software Suite | Offiziell als Flatpak auf Flathub bereitgestellt, oder Sie können Upstream-Pakete von [https://www.libreoffice.org/](https://www.libreoffice.org/) herunterladen. |
+| Evolution Personal Information Manager und E-Mail-Client | Thunderbird wird über das Appstream-Repository bereitgestellt. Sie können auch ein Flatpak oder Paket von Upstream oder über Flathub erhalten. |
+| Inkscape Vector Graphics Editor | In RL 10 ist kein Vektorgrafik-Editor enthalten, aber Sie finden ein Flatpak auf Flathub. |
+| Totem (GNOME Videos) media player | In RL 10 ist kein standardmäßiger Desktop-Mediaplayer enthalten. Der Webbrowser kann weiterhin webbasierte Medien abspielen. Alternativ können Sie einen anderen Mediaplayer aus Drittanbieter-Repositories oder als Flatpak von Flathub auswählen. |
+
+TigerVNC wurde aus RL 10 entfernt. Verwenden Sie für die VNC-Client-Funktionalität die Anwendung „Connections“. Es ist kein VNC-Server vorhanden.\
+`gnome-remote-desktop` ersetzt TigerVNC mithilfe von RDP für Desktop-Sharing, Remote-Login und Headless-Sitzungen. Dies ist in GNOME integriert und Sie können es in der Anwendung `Settings` konfigurieren.
+
+Die Desktopumgebung und das Toolkit von Motif X11 werden ebenfalls aus RL 10 entfernt.
+
+### Infrastruktur-Dienste
+
+Der Austausch oder die Entfernung einiger Dienste und Pakete in RL 10 umfasst die folgenden Infrastrukturdienste.
+
+| Entfernt | Ersetzt durch |
+| :--------------------------------- | :----------------------------------------------------------------------------------------------------------------- |
+| power-profiles-daemon CPU throttle | „tuned-ppd“-Übersetzungsebene, die Anwendungen unterstützt, die für den „Power-Profiles-Daemon“ geschrieben wurden |
+| redis in-memory key-value database | `valkey` (ein Fork von Redis) In-Memory-Schlüsselwertdatenbank ^1 |
+| sendmail mail transfer agent | Rocky Linux empfiehlt die Migration zum Postfix Mail Transfer Agent. |
+| spamassassin email spam filter | Der E-Mail-Spamfilter `spamassassin` befindet sich jetzt im EPEL-Repository. |
+
+1 Zusätzlich zu `valkey` befindet sich das Paket `valkey-compat-redis` im Plus-Repository.
+
+### Dynamische Programmiersprachen
+
+Es gibt Updates für aktuelle Versionen mehrerer beliebter Programmiersprachen:
+
+- Python 3.12
+- Ruby 3.3
+- Node.js 22.13
+- Perl 5.40
+- PHP 8.3
+
+### Web-Servers und Datenbank-Servers
+
+Für viele beliebte Server-Daemons gibt es Updates auf neuere Versionen:
+
+#### Web-Server
+
+- Apache HTTP Server 2.4.63
+- nginx 1.26
+
+#### Proxy-Caching-Server
+
+- Varnish Cache 7.6
+- Squid 6.10
+
+#### Datenbank-Server
+
+- MariaDB 10.11
+- MySQL 8.4
+- PostgreSQL 16.8
+- Valkey 8.0
+
+### RL Web-Konsole (Cockpit)
+
+Cockpit ist eine webbasierte Schnittstelle zur Verwaltung und Überwachung Ihres lokalen Systems. Ein grafischer Dateimanager und ein Texteditor sind jetzt in der Webkonsole verfügbar, wenn Sie das RPM-Paket `cockpit-files` installieren.
+
+Der Host-Switcher, der die gleichzeitige Verwaltung mehrerer Systeme ermöglichte, ist obsolet und aus Sicherheitsgründen standardmäßig deaktiviert.
+
+Cockpit unterstützt nun die Konfiguration von Größenbeschränkungen für das Stratis-Dateisystem.
+
+## Bekannte Probleme
+
+### SELinux-Issue mit virtuellen Hosts
+
+Wenn Sie einen virtuellen Host mit aktiviertem `passt`-Backend und dem Typ `memfd` für den Speicher verwenden, kann die Schnittstelle nicht gestartet werden, sofern SELinux aktiviert ist. Weitere Informationen finden Sie unter [diesem Upstream-Issue](https://issues.redhat.com/browse/RHEL-80407).
+
+### Grauer Bildschirm nach dem Booten vom Installationsmedium
+
+Mit bestimmten Hardwarekonfigurationen, beispielsweise virtualisierten Umgebungen mit aktivierter 3D-Grafik, kann es vorkommen, dass Anaconda hängt, bevor der Setup-Assistent angezeigt wird. Dieses Problem sollte gelöst werden können, indem Sie von tty6 zu einem anderen TTY und dann wieder zurück zu tty6 wechseln. Wechseln Sie beispielsweise mit ++Strg+Alt+F1++ und dann ++Strg+Alt+F6++ zu tty1 und zurück zu tty6.
+
+## Mitmachen und Fehler melden
+
+Bitte melden Sie alle Fehler, auf die Sie gestoßen sind, dem [Rocky Linux Bug Tracker](https://bugs.rockylinux.org/). Wir heißen Sie auch herzlich willkommen, unserer Community beizutreten, sei es in unseren [Foren](https://forums.rockylinux.org), [Mattermost](https://chat.rockylinux.org), [IRC auf Libera.Chat](irc://irc.liberachat/rockylinux), [Reddit](https://reddit.com/r/rockylinux), [Mailinglisten](https://lists.resf.org), oder auf welche andere Art auch immer Sie teilnehmen möchten!
diff --git a/docs/rocky_insights/blogs/index.de.md b/docs/rocky_insights/blogs/index.de.md
index f12308c6de..f5a99359e6 100644
--- a/docs/rocky_insights/blogs/index.de.md
+++ b/docs/rocky_insights/blogs/index.de.md
@@ -1,7 +1,7 @@
---
title: Einleitung
author: Steven Spencer
-contributors: null
+contributors:
---
## Warum dieser Abschnitt?
diff --git a/docs/rocky_insights/blogs/index.fr.md b/docs/rocky_insights/blogs/index.fr.md
index 1c828b614e..e3e8d48eb3 100644
--- a/docs/rocky_insights/blogs/index.fr.md
+++ b/docs/rocky_insights/blogs/index.fr.md
@@ -1,7 +1,7 @@
---
title: Introduction
author: Steven Spencer
-contributors: null
+contributors:
---
## Pourquoi cette rubrique ?
diff --git a/docs/rocky_insights/blogs/index.it.md b/docs/rocky_insights/blogs/index.it.md
index 37fa53d6e2..0a383c8df6 100644
--- a/docs/rocky_insights/blogs/index.it.md
+++ b/docs/rocky_insights/blogs/index.it.md
@@ -1,7 +1,7 @@
---
title: Introduzione
author: Spencer Steven
-contributors: null
+contributors:
---
## Perché questa sezione?
diff --git a/docs/rocky_insights/blogs/index.uk.md b/docs/rocky_insights/blogs/index.uk.md
index 62367b44a3..0bb418b1a0 100644
--- a/docs/rocky_insights/blogs/index.uk.md
+++ b/docs/rocky_insights/blogs/index.uk.md
@@ -1,7 +1,7 @@
---
title: Вступ
author: Steven Spencer
-contributors: null
+contributors:
---
## Чому цей розділ?
diff --git a/docs/rocky_insights/blogs/index.zh.md b/docs/rocky_insights/blogs/index.zh.md
index 109807f893..48722e5224 100644
--- a/docs/rocky_insights/blogs/index.zh.md
+++ b/docs/rocky_insights/blogs/index.zh.md
@@ -1,7 +1,7 @@
---
title: 介绍
author: Steven Spencer
-contributors: null
+contributors:
---
## 为什么有这个部分?
diff --git a/docs/rocky_insights/links/sigs/index.de.md b/docs/rocky_insights/links/sigs/index.de.md
index 14495e8307..be5d0947d8 100644
--- a/docs/rocky_insights/links/sigs/index.de.md
+++ b/docs/rocky_insights/links/sigs/index.de.md
@@ -1,7 +1,7 @@
---
title: Special Interest Groups
author: Steven Spencer
-contributors: null
+contributors:
---
- Alternative Architektur [SIG/AltArch](https://sig-altarch.rocky.page)
diff --git a/docs/rocky_insights/links/sigs/index.fr.md b/docs/rocky_insights/links/sigs/index.fr.md
index 17f3311dfe..27e540cbcf 100644
--- a/docs/rocky_insights/links/sigs/index.fr.md
+++ b/docs/rocky_insights/links/sigs/index.fr.md
@@ -1,7 +1,7 @@
---
title: Groupes d'Intérêts Spéciaux
author: Steven Spencer
-contributors: null
+contributors:
---
- Architecture Alternative [SIG/AltArch](https://sig-altarch.rocky.page)
diff --git a/docs/rocky_insights/links/sigs/index.it.md b/docs/rocky_insights/links/sigs/index.it.md
index 0a17d0eae7..9de6dcd5ae 100644
--- a/docs/rocky_insights/links/sigs/index.it.md
+++ b/docs/rocky_insights/links/sigs/index.it.md
@@ -1,7 +1,7 @@
---
title: Special Interest Groups
author: Spencer Steven
-contributors: null
+contributors:
---
- Architetture Alternative [SIG/AltArch](https://sig-altarch.rocky.page)
diff --git a/docs/rocky_insights/links/sigs/index.pt.md b/docs/rocky_insights/links/sigs/index.pt.md
index 333430be55..48f433e8b7 100644
--- a/docs/rocky_insights/links/sigs/index.pt.md
+++ b/docs/rocky_insights/links/sigs/index.pt.md
@@ -1,7 +1,7 @@
---
title: Grupo de Interesse Especial (SIG)
author: Steven Spencer
-contributors: null
+contributors:
---
- Arquitetura Alternativa [SIG/AltArch](https://sig-altarch.rocky.page)
diff --git a/docs/rocky_insights/links/sigs/index.uk.md b/docs/rocky_insights/links/sigs/index.uk.md
index 8ff2ffb60f..7ed4d321ca 100644
--- a/docs/rocky_insights/links/sigs/index.uk.md
+++ b/docs/rocky_insights/links/sigs/index.uk.md
@@ -1,7 +1,7 @@
---
title: Групи по інтересам
author: Steven Spencer
-contributors: null
+contributors:
---
- Альтернативна архітектура [SIG/AltArch](https://sig-altarch.rocky.page)
diff --git a/docs/rocky_insights/links/sigs/index.zh.md b/docs/rocky_insights/links/sigs/index.zh.md
index 54ebf13536..2730c70a05 100644
--- a/docs/rocky_insights/links/sigs/index.zh.md
+++ b/docs/rocky_insights/links/sigs/index.zh.md
@@ -1,7 +1,7 @@
---
title: 特别兴趣小组(SIG)
author: Steven Spencer
-contributors: null
+contributors:
---
- 新架构 [SIG/AltArch](https://sig-altarch.rocky.page)