2016-12-28 1 views
-1

Ich muss das erste und das letzte Zeichen aus jeder Zeile einer Textdatei löschen.Löschen erste und letzte Zeichen aus jeder Zeile einer TXT-Datei

zum Beispiel:

Eingangs

$cat file1.txt 
|head1|head2|head3| 
|1|2|3| 
|2|3|4| 

Output:

head1|head2|head3 
1|2|3 
2|3|4 
+0

endet es immer mit einer Rohrleitung? –

+0

| MRC-Code | Produkt | Bravo Minor | Periode | Laufendes Jahr | Version | Länderkürzel | G/L Konto | Netto Verkaufte Einheiten - Per Anum | MU | Verkaufsbetrag - Per Anum | Netto Verkaufte Einheiten - pro Monat | Verkaufsbetrag - Pro Monat | Umsatz Währung | ICP Flag | Upload ID | | 1757 | 02.100.004 | 47830 | 10 | 2016 | 0 | PR | 60515900 | 1.000 | EA | 0.00 | 0.000 | 0.00 | | Y | 157282 | – smisra3

+0

Ich habe die Beispieldaten über – smisra3

Antwort

0

Verwendung SED:

sed 's/.$//; s/^.//' inputfile 
+0

Dieser Befehl entfernt das erste '|' nur. Nicht der letzte – smisra3

+0

| MRC-Code | Produkt | Bravo Minor | Periode | Laufendes Jahr | Version | Länderkürzel | G/L Konto | Netto Verkaufte Einheiten - Per Anum | MU | Verkaufsbetrag - Per Anum | Verkaufte Nettoeinheiten - pro Monat | Verkaufsbetrag - Pro Monat | Umsatzwährung | ICP Flag | Upload id | | 1757 | 02.100.004 | 47830 | 10 | 2016 | 0 | PR | 60515900 | 1.000 | EA | 0.00 | 0.000 | 0.00 | | Y | 157282 | – smisra3

+0

Die Beispieldaten wurden hinzugefügt. – smisra3

0

Ein einfacher Weg, um es in einer SED-Befehl zu tun:

sed -E 's/^.|.$//g' file 

Ein Zeichen am Anfang oder am Ende der Zeile abgleichen und durch nichts ersetzen.

Im Basis-Modus, denken Sie daran, dass die | Bedürfnisse entgangen sein:

sed 's/^.\|.$//g' file 
+0

Dieser Befehl entfernt das erste '| nur. Nicht die letzte – smisra3

+0

| MRC-Code | Produkt | Bravo Minor | Periode | Laufendes Jahr | Version | Länderkürzel | G/L Konto | Netto Verkaufte Einheiten - Per Anum | MU | Verkaufsbetrag - Per Anum | Verkaufte Nettoeinheiten - pro Monat | Verkaufsbetrag - Pro Monat | Umsatzwährung | ICP Flag | Upload id | | 1757 | 02.100.004 | 47830 | 10 | 2016 | 0 | PR | 60515900 | 1.000 | EA | 0.00 | 0.000 | 0.00 | | Y | 157282 | – smisra3

+0

hinzugefügt die smaple Daten – smisra3

0

Wenn awk hilfreich:

awk '{print substr($0,2,length($0)-2)}' file 
head1|head2|head3 
1|2|3 
2|3|4 
0

@ smisra- Könnten Sie bitte folgende versuchen, kann es Ihnen helfen, in die gleichen Auch.

awk '{gsub(/^\||\|$/,X,$0);print}' Input_file 
Verwandte Themen