Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Mit Linux Konsole Absatz 0A in Dateien suchen und ersetzen

Mitglied: OIOOIOOIOIIOOOIIOIIOIOOO

OIOOIOOIOIIOOOIIOIIOIOOO (Level 1) - Jetzt verbinden

24.05.2019 um 15:57 Uhr, 552 Aufrufe, 7 Kommentare

Moin,

jedes mal das gleiche. Ein mal im Jahr brauche ich einen Script und jedes mal stoße ich auf neue Probleme mit alten Wurzeln.

Die Absätze…..

https://administrator.de/forum/linux-ende-datei-leerzeile-einf%C3%BCgen- ...

Ich habe eine Datei. Mit Adressen. Dummerweise gab es mal einen Entwickler Team welches ein PayPal Modul entwickelte, bei dem die Adresse bei einem Zusatz (also zweitem Feld für Straße) die beiden Felder Trennt nur 1 und zwar laut dem Hexeditor ein Absatz „0A“ Alle anderen werden ganz normal und vorbildlich mit „0D 0A“ umgesetzt.

hexmex - Klicke auf das Bild, um es zu vergrößern

Nun muss ich für meinen anderen Script die Datei vorbereiten und diesen Zeilenumbruch entfernen und mit zum Beispiel einem Leerzeichen oder Pipe ( | ) ersetzen.

Ich kann jedoch diesen Absatz in der Konsole weder finden, noch ersetzen.

HEX:

Folgendes habe ich bis her probiert:

Habt Ihr eine Idee für mein Problem?

Sonnst sonniges Wochenende euch noch.

Ich
Mitglied: colinardo
LÖSUNG 25.05.2019, aktualisiert 27.05.2019
Servus,
die beiden Felder Trennt nur 1 und zwar laut dem Hexeditor ein Absatz „0A“ Alle anderen werden ganz normal und vorbildlich mit „0D 0A“ umgesetzt.
Das eine ist ein ganz normaler LF (0A) wie er unter Linux üblich ist, das andere ist das CRLF (0D0A) das unter Windows/DOS den Zeilenumbruch darstellt. Es gibt hier also kein "unnormal" da hat nur einer Unix und DOS Zeilenumbrüche gemixt.

Das zu ersetzen ist aber kein Problem und lässt sich bspw. mit sed erledigen:
Zur Erläuterung der sed Parameter:

  • :a definiert einen Label
  • N Aktuelle und nächste Zeile in den Pattern-Space laden
  • $!ba springe solange zu Label :a bis das Ende der Datei erreicht ist
  • Es befindet sich nun der ganze Text der Datei im Pattern-Space und auf diesen wird die folgende Replace-Aktion angewendet:
  • s/([^\r])\n/\1 /g : Ersetzt alle Unix-Zeilenumbrüche (0A) mit einem Leerzeichen "ohne dabei das 0A in den vorhandenen DOS-Zeilenumbrüchen(0D0A) zu ersetzen".

Bei solchen Operationen, also den hin und her übertragen zwischen Linux und Windows sollte man bei der Übertragung und dem Handling in Texteditoren höllisch aufpassen, dass dieser nicht automatische Ersetzungen der Zeilenumbrüche ungefragt vornimmt. Außerdem sollte man mit Datentransfer-Tools aufpassen und den Binary-Modus statt dem Texttransfer-Modus verwenden da ansonsten Zeilenumbrüche auch automatisch angepasst werden können.
Das kann nämlich alles zu allgemeiner Verunsicherung führen.

Grüße Uwe
Bitte warten ..
Mitglied: OIOOIOOIOIIOOOIIOIIOIOOO
27.05.2019, aktualisiert um 09:50 Uhr
Moin Uwe,

danke dir viel mals für die ausführliche Erklärung. Nach dem ich in deinem Code das $! vor dem ba hinzugefügt habe, hat es auch funktioniert.

Des weiteren wurde mir noch, scheinbar das Grundwissen "Gruppierung" erläutert. Ich hoffe ich behalte es für das nächste Jahr

Wir haben den Code noch etwas erweitert, in dem wir das falsch positionierte Feld in die richtige Spalte hinzugefügt haben.

Euch allen einen guten Start in die Woche.

Ich
Bitte warten ..
Mitglied: colinardo
27.05.2019, aktualisiert um 09:44 Uhr
Zitat von OIOOIOOIOIIOOOIIOIIOIOOO:

Moin Uwe,

danke dir viel mals für die ausführliche Erklärung. Nach dem ich in deinem Code das $! vor dem ba hinzugefügt habe, hat es auch funktioniert.
Uups, da habe ich wohl aus versehen ein Cut zum Erklärtext statt einem Copy gemacht . Ist korrigiert.
Bitte warten ..
Mitglied: OIOOIOOIOIIOOOIIOIIOIOOO
27.05.2019 um 10:29 Uhr
Eine Frage habe ich doch noch.

Wofür steht das E nach dem sed --Ee ?
Bitte warten ..
Mitglied: colinardo
27.05.2019, aktualisiert um 10:42 Uhr
Extended Regular Expressions

sed --help oder man sed verrät es dir übrigens auch genauso wie die manpage

http://www.gnu.org/software/sed/manual/sed.html#Command_002dLine-Option ...
Bitte warten ..
Mitglied: OIOOIOOIOIIOOOIIOIIOIOOO
27.05.2019 um 11:13 Uhr
hmm komisch, bei mir unter man sed gibt es diese Funktion nicht.

(Centos 7)

Der Script läuft und das ist die Hauptsache.

Viele Dank
Bitte warten ..
Mitglied: colinardo
27.05.2019, aktualisiert um 11:27 Uhr
Alternativen sind -r oder --regexp-extended. Je nach Distro ist der Einsatz nötig damit sed submatches und erweiterte Regex-Funktionen nutzen kann, kommt aber darauf an welchen Posix Standard die Distro gerade konfiguriert hat.
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Absatz in Textfeld deaktivieren
gelöst Frage von eraiserMicrosoft Office6 Kommentare

Hallo, ich kämpfe gerade mit dem erstellen einer Briefvorlage in MS Office Word 2016. Da die Vorlage zukünftig aus ...

Windows 10
Windows Such-Index
gelöst Frage von UserUWWindows 104 Kommentare

Sorry für ein paar elementare Fragen zum Windows Such-Index: 1. Bei der Festlegung der Indizierungskriterien wird eine endlos lange ...

Microsoft Office
Excel Such- und Vergleichsfunktion
gelöst Frage von oesi1989Microsoft Office15 Kommentare

Hallo zusammen, ich habe 2 Tabellen mit Name, Vorname und Arbeitgeber. 1. Tabelle Name Vorname Geb-Datum Arbeitgeber Straße Ort ...

Windows Server

Word 2010 : Absatz - Abstand per GPO ändern

gelöst Frage von johanna-pWindows Server3 Kommentare

Liebe Gemeinde, ich muss bei einer großen Gruppe von PCs die Word Einstellung Absatz / Abstand von 10 (Standard) ...

Neue Wissensbeiträge
Off Topic
Wann gibt es mehr Bits als Atome?
Information von AnkhMorpork vor 22 StundenOff Topic11 Kommentare

Boys 'n' girls, Freitagslektüre: Wenn Computertechnologie und Digitalisierung sich so weiterentwickeln, könnte die Zahl der digitalen Bits in 150 ...

Sicherheits-Tools

TrendMicro Worry-Free Business Security (WFBS) 10.0 SP1 - Critical Patch veröffentlicht!

Information von VGem-e vor 1 TagSicherheits-Tools3 Kommentare

Servus, siehe hier. Download-Link hier swfbs/10.0WFBS_100_SP1_All_MSA_11.7_HFB1073.exe Nähere Infos habe ich online noch nicht gefunden. Gruß VGem-e

Humor (lol)

Wie verhindere ich, dass Websitebesucher die Werbecookies abschalten?

Information von DerWoWusste vor 2 TagenHumor (lol)9 Kommentare

Ich habe gerade auf die Antwort gefunden: ich täusche einen langwierigen Änderungsprozess vor und biete nebenbei einen Cancelbutton, den ...

Sicherheit

Windows Setup erlaubt elevation of privilege plus DC Updates

Information von DerWoWusste vor 3 TagenSicherheit4 Kommentare

Eine interessante neue Sicherheitslücke. Details gibt es wenig, edit: doch, jetzt hab ich was: aber die klare Empfehlung: ...

Heiß diskutierte Inhalte
Windows Server
Administratorrechte im Dateisystem - Windows Server 2019 - DC
Frage von Indy06Windows Server19 Kommentare

Hallo, alle zusammen! Es kommt ja nun doch mal vor, dass man als Administrator auf einem Windows Server 2019, ...

Windows Server
MSI Installation als User auf TS funktioniert nicht
Frage von support-itWindows Server17 Kommentare

Guten Tag zusammen, ich habe eine Frage bezüglich der Installation von einer MSI-Datei auf einem Server 2016 Datacenter Terminalserver. ...

Windows Server
Windows Server 2019 Essentials
gelöst Frage von BosnigelWindows Server12 Kommentare

Moin! Für ein kleines Unternehmen wird komplett neue Hardware benötigt. Bis jetzt läuft es so: Drei Rechner, einer dient ...

Off Topic
Wann gibt es mehr Bits als Atome?
Information von AnkhMorporkOff Topic11 Kommentare

Boys 'n' girls, Freitagslektüre: Wenn Computertechnologie und Digitalisierung sich so weiterentwickeln, könnte die Zahl der digitalen Bits in 150 ...

Administrator Magazin
08 | 2020 Cloud-First-Strategien sind inzwischen die Regel und nicht mehr die Ausnahme und Workloads verlagern sich damit in die Cloud – auch Datenbanken. Dort geht es aber nicht nur um die Frage, wie die Datenbestände in die Wolke zu migrieren sind, sondern auch darum, welche Datenbank ...