Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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 IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Text innerhalb einer Datei verschieben

Frage Entwicklung Batch & Shell

Mitglied: CrazyCat-1

CrazyCat-1 (Level 1) - Jetzt verbinden

14.06.2006, aktualisiert 22.06.2006, 5687 Aufrufe, 5 Kommentare

Text einer beliebig langen Datei aus der letzten Zeile in eine bestimmte Zeile des Textes einfügen

Mein Problem ist folgendes:

Aus 2 verschiedenen Textdateien wird eine Datei zusammengestellt.

Der Text der 2. Datei wird dabei natürlich an die erste Datei angehängt.

Der Eintrag der letzten Zeile der neuen Datei muss nun in die 8. Zeile verschoben werden (also nach der 7. Zeile eingefügt) und die restlichen Zeilen sollen dabei nicht überschrieben werden.

Das Problem ist das die Länge der Dateien und der Dateiname nicht bekannt sind, lediglich die Dateierweiterung bleibt konstant.


Der Batch soll außerdem in einem anderen Verzeichnis aufgeführt werden, als dem Verzeichnis in dem die Dateien liegen.

Wie kann man dieses Problem lösen?

edlin würde zwar eine Reihe von geeigneten Befehlen anbieten, allerdings kann ich diese irgendwie nicht über eine Batch - Routine laufen lassen und miteinander verknüpfen.
Mitglied: Lars1082
14.06.2006 um 12:14 Uhr
Hi CrazyCat

Versuch es doch mal mit einem VBS-Script!
Hier müsstest du dir dafür alles zusammensuchen können!
http://www.quaschtel.de/wsh/

Gruß Lars
Bitte warten ..
Mitglied: CrazyCat-1
14.06.2006 um 12:28 Uhr
Hm, so wirklich hat mich deren Beschreibung nicht weitergebracht.

Sie schreiben zwar offenbar gerne in der Registry rum, aber Texte verschieben sie im allgemeinen nicht.
Bitte warten ..
Mitglied: CrazyCat-1
14.06.2006 um 14:47 Uhr
So, 2 Zusätze:

erstens ist es nicht die letzte Zeile, sondern die vorletzte (die letzte Zeile ist leer)
zweitens könnte ein Suchbegriff eingesetzt werden, wenn ich nur wüßte wie, da die Zeile immer mit den 5 gleichen Zeichen beginnt


Hat vielleicht jetzt jemand eine Idee?
Bitte warten ..
Mitglied: 6890
15.06.2006 um 10:54 Uhr
hallo,

ich hätte eine, aber leider nur in perl:
01.
#!C:/perl/bin/perl -w 
02.
 
03.
use strict; 
04.
 
05.
## die 2 dateien öffnen 
06.
open DATEI1, "<Pfad zu Datei eins" || die "$!"; 
07.
open DATEI2, "<Pfad zu Datei zwei" || die "$!"; 
08.
 
09.
## in 2 arrays übergeben 
10.
my @array1 = <DATEI1>; 
11.
my @array2 = <DATEI2>; 
12.
 
13.
## leere zeilen entfernen 
14.
chomp(@array1); 
15.
chomp(@array2); 
16.
 
17.
## die 2 alten dateien schliessen 
18.
close(DATEI1); 
19.
close(DATEI1); 
20.
 
21.
## neue datei aus den 2 alten 
22.
my @neueDatei = (@array1, @array2); 
23.
 
24.
## letzte zeile entfernen 
25.
my $letzte_zeile = pop(@neueDatei); 
26.
 
27.
## an 7er stelle hinzufügen 
28.
splice(@neueDatei,7,0,$letzte_zeile); 
29.
 
30.
## neue datei schreiben 
31.
open NEUEDATEI, ">Pfad zur neuen Datei" || die "$!"; 
32.
foreach (@neueDatei) { 
33.
  print NEUEDATEI $_ , "\n"; 
34.
35.
close(NEUEDATEI);
hoffe ich konnte helfen


mfg godlike P
Bitte warten ..
Mitglied: CrazyCat-1
22.06.2006 um 11:48 Uhr
Das Perl - Skript hilft mir nur bedingt.

Ich kann es zwar auf dem loaklen Rechner laufen lassen, aber auf dem Server belegt es zuviel Ressourcen.

Ich habe das Problem daher etwas unfein gelöst.

Ich splitte einfach die Datei in mehrere kleine Dateien durch Suchbegriffe und füge dann die kleinen Dateien wieder zu einer großen zusammen.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Datei nach Erstellungsdatum verschieben (2)

Frage von Kugelschreiber1 zum Thema Batch & Shell ...

Windows 7
gelöst Dateien verschieben Sicheheitswarnung Aktivieren (1)

Frage von Krabbelfiechle zum Thema Windows 7 ...

VB for Applications
gelöst csv Dateien als Text importieren (7)

Frage von Bacchida zum Thema VB for Applications ...

Batch & Shell
Dateien nach Datum verschieben (4)

Frage von LKDNDK12 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (16)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Router & Routing
FTTH bzw FTTB Router (13)

Frage von ukulele-7 zum Thema Router & Routing ...