Nyheter i Android, Telefoner, Prylar Och Recensioner

Hur man använder kommandot sed i Linux

Namnet sed står för “Stream Editor” och det är ett kraftfullt verktyg som låter dig analysera och transformera text direkt från kommandoraden. Oavsett om du har att göra med konfigurationsfiler, skript eller till och med vanlig text, är sed ditt bästa verktyg för snabb och effektiv texthantering.

Den huvudsakliga användningen av sed är att söka efter specifika textmönster och ersätta dem med något annat. Du kan också ta bort eller infoga rader och utföra andra textomvandlingar. Det är särskilt användbart för att redigera batchfiler eller arbeta med skalskript för att automatisera olika uppgifter.

Även om sed är otroligt mångsidigt på egen hand, används det ofta i kombination med andra Linux-kommandon som awk för textbehandling, grep för mönstersökning och cat för att visa filinnehåll. Tillsammans bildar dessa verktyg en robust verktygsuppsättning för textbehandling i Linux-miljön.

Allmän syntax för kommandot sed:

$ sed [OPTIONS] [FILE]...
1. Textersättning
echo "Text" | sed 's/Replaceable_Word/The_Word_That_Replaces/'

Använd kommandot sed för att hitta och ersätta någon del av texten. ‘s’ indikerar en sök- och ersätt-uppgift.

Exempel:

Låt oss säga att du har en sträng “I love CSS” och du vill ersätta “CSS” med “CSS Libraries”.

echo "I love CSS" | sed 's/CSS/CSS Libraries/'
I love CSS Libraries

I det här exemplet matar ekokommandot “Jag älskar CSS” och sedan ersätter sed “CSS” med “CSS Libraries.” Slutresultatet är “Jag älskar CSS-bibliotek.”

2. Ersätt text på en specifik rad i en fil
sed '[line] s/harder/easier/g' [file]

Alternativet ‘g’ för kommandot sed används för att ersätta allt som matchar mönstret.

Exempel:

Anta att du har en textfil som heter example.txt med följande innehåll:

Life is hard.
Working harder is the key to success.
The harder you work, the luckier you get.

För att ersätta alla förekomster av ordet “svårare” med “enklare” på rad 2 i exempel.txt, kör du:

sed '2 s/harder/easier/g' example.txt

Efter att ha kört kommandot skulle utgången som visas i terminalen vara:

Life is hard.
Working easier is the key to success.
The harder you work, the luckier you get.

Observera att ordet “svårare” endast ersätts med “lättare” på rad 2.

Relaterad  NAVI fick sin första DPC-vinst genom att slå Empire

Om du vill spara dessa ändringar tillbaka till filen kan du använda alternativet -i:

sed -i '2 s/harder/easier/g' example.txt

Efter att ha kört det här kommandot ändras innehållet i example.txt permanent till:

Life is hard.
Working easier is the key to success.
The harder you work, the luckier you get.
3. Ersätt den första matchningen med ny text.
sed 's/harder/easier/' [file]

Detta kommando ersätter endast den första matchningen i sökmönstret.

Exempel:

Anta att du har en textfil som heter example.txt med följande innehåll:

Life is harder than we think.
Working harder is the key to success.
No pain, no gain. Work harder.

Du kan använda kommandot sed för att ersätta ordet “hårdare” med “enklare” på varje rad:

sed 's/harder/easier/' example.txt

Efter att ha kört kommandot blir resultatet:

Life is easier than we think.
Working easier is the key to success.
No pain, no gain. Work easier.
4. Ta bort matchande rader
sed '/Something/d' example.txt

Använd alternativet d i kommandot sed för att ta bort valfri rad från en fil.

Exempel:

Låt oss säga att du har en fil som heter example.txt med följande innehåll:

Hello World
Something is here
Another line
Yet another line
Something else

Att köra kommandot sed ‘/Something/d’ example.txt kommer att ge:

Hello World
Another line
Yet another line
5. Hitta ett skiftlägeskänsligt ord och ta bort det.
sed '/Sample/Id' example.txt

Alternativet I för kommandot sed används för att söka efter ett matchande mönster på ett skiftlägesokänsligt sätt.

Exempel:

Anta att du har en fil som heter example.txt med följande innehåll:

This is a Sample line.
Another line.
Yet another Sample line.
Final line.

Om du kör kommandot sed ‘/Sample/Id’ example.txt får du följande utdata:

Another line.
Final line.
6. Byt ut ord med versaler
sed 's/\(libraries\)/\U\1/Ig' example.txt

Använd U-alternativet i sed-kommandot för att konvertera valfri text till versaler.

Relaterad  14 indiska startups gör nyheter den här veckan (21 maj till 27 maj 2023)

Exempel:

Anta att du har en fil som heter example.txt med följande innehåll:

I love libraries.
libraries are great.
You can find many books in libraries.

Efter att ha kört kommandot sed blir resultatet:

I love LIBRARIES.
LIBRARIES are great.
You can find many books in LIBRARIES.
7. Byt ut ord med små bokstäver.
sed 's/\(libraries\)/\L\1/Ig' example.txt

L-alternativet för sed-kommandot används för att konvertera all text till gemener.

Exempel:

Anta att du har en fil som heter example.txt med följande innehåll:

Libraries are essential for research.
libraries help in many ways.
I love LIBRARIES!

Efter att ha kört kommandot sed blir resultatet:

libraries are essential for research.
libraries help in many ways.
I love libraries!
8. Infoga tomma rader i en fil.
sed G [file]

Använd G-alternativet för sed-kommandot för att infoga tomma rader efter varje rad i filen.

Exempel:

Låt oss säga att du har en fil som heter example.txt med följande innehåll:

Hello
World
This
Is
A
Test

Du kan köra följande kommando för att lägga till ytterligare en ny rad i slutet av varje rad:

sed G example.txt

Efter att ha kört kommandot blir resultatet:

Hello

World

This

Is

A

Test
9. Skriv ut radnumren från filen
sed '=' [file]

Tecknet = används för att skriva ut ett radnummer före varje textrad i en fil.

Exempel:

Anta att du har en fil som heter example.txt med följande innehåll:

Hello
World
This
Is
A
Test

Du kan köra följande kommando för att skriva ut radnumren före varje rad:

sed '=' example.txt
1
Hello
2
World
3
This
4
Is
5
A
6
Test
Fler Linux-kommandon: