• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Wie in txt-datei am ende jeder zeile feste zeichen hinzufügen?

Baster

Neu angemeldet

Registriert
5 Apr. 2015
Beiträge
68
Hallo Zusammen

Ich würde gerne einen Batch / shell script schreiben der:

1. In einer Textdatei alle Leerzeilen löscht.
Die Textdatei beinhaltet Pfade also: /path/to/folder/bla/bla
2.ich möchte in jeder zeile am ende ein "/index.php" hinzufügen (ohne ")
Vielen Danke für eure Antwort

Gruss
 

sia

gesperrt

Registriert
26 März 2015
Beiträge
5.931
Ort
FFM (NSFW)
Ich würde das mit sed machen:

[src=bash]sed '/^$/d' textmitleerzeilen.txt > textohneleerzeilen.txt
sed 's/$/\/index\.php/' textohneleerzeilen.txt > textohneleerzeilenmitindexphpamende.txt[/src]

Oder kombiniert:

[src=bash]sed '/^$/d; s/$/\/index\.php/' textmitleerzeilen.txt > textohneleerzeilenmitindexphpamende.txt[/src]

(ungetestet) funktioniert.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.573
Ich glaube er meint Windows Batch! :unknown:

Ist mir aber gerade auch erst aufgefallen :D

Nun denn, "es funktioniert" was ich zusammengeschuster/kopiert hab... ;)
$skript.sh eingabe.txt ausgabe.txt

[src=bash]#!/bin/bash

#Based on: http://mywiki.wooledge.org/DontReadLinesWithFor

IFS=$'\n';
set -f;

INFILE=${1};
OUTFILE=${2};
LINE=0;

for i in $(<$INFILE); do
if [ $LINE -eq 0 ]; then
echo >$OUTFILE "$i/index.php";
let LINE=LINE+1;
else
echo >>$OUTFILE "$i/index.php";
fi;

done;

set +f;
unset IFS;[/src]
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.573
Eigentlich sollte mal jemand jetzt ein PowerShell Skript hier präsentieren ;)
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.748
Ort
in der Zukunft
[src=powershell]Get-Content c:\quelle.txt | ForEach-Object {if($_.trim()){$_ = "$_\index.php" | Out-File c:\ziel.txt -Append}}[/src]
 

alter_Bekannter

N.A.C.J.A.C.

Registriert
14 Juli 2013
Beiträge
4.823
Ort
Midgard
Und seit wann ist Powershell in Standard Windowsinstallationen enthalten?

Warum nicht PHP, das läuft ja offenbar eh schon?

[src=php]$stuff = "you want to append to each line";
$file = file("input.file");

$new_file;
foreach($file as $row)
{
$new_file .= $row.$stuff;
}

file_put_contents("path/to/new.file", $new_file);
[/src]

Bin gerade unterwegs daher nicht getestet.
Edit:
Man sollte wohl vorher die Zeilenumbrüche entfernen und nachher wieder dran machen.
 

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
Geht auch problemlos in Vim:

[src=bash]:%g/^$/d
:%s/$/\/index.php/[/src]
Der erste Befehl löscht alle Leerzeilen, der 2. fügt das /index.php ans Ende hinzu.

Oder mit sed halt:
[src=bash]sed "/^$/d;s/$/\/index.php/" -i deine_datei.php[/src]
Kannst du dann natürlich auch rekursiv auf ganze Verzeichnisse anwenden.

(Grad gelesen, dass das phre4k schon gepostet hat. Irgendwie sind wir uns in manchen Sachen zu ähnlich.)
 

Baster

Neu angemeldet

Registriert
5 Apr. 2015
Beiträge
68
  • Thread Starter Thread Starter
  • #10
nochmals vielen Dank für eure hilfe

Bei mir Funktioniert es mit sed nicht

die datei wird so erzeugt

[src=text]/path/to/folder/bla/bla

/index.php
/path/to/folder/bla/bla

/index.php

[/src]

ich bin kein fan von PowerShell Da es nicht ohne weiteres überall Funktioniert

evtl. hat noch jemand lust ein batch file zu posten

LG
 

Baster

Neu angemeldet

Registriert
5 Apr. 2015
Beiträge
68
  • Thread Starter Thread Starter
  • #12
naja standardmäßiglt ist die Ausführung von PowerShell Skripten ab Windows 7 aus Sicherheitsgründen deaktiviert und muss evtl vorher Aktiviert werden (umständlich wie ich finde )
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.748
Ort
in der Zukunft
du kannst einfach rechtsklick >ausführen als powershell sagen - dann wirst du gefragt ob du es ausführen möchtest, ein klick auf y /j und es wird ausgeführt.
Es ist "nur" ein zusätzlicher Schutz aktiv der ein versehentliches Ausführen von Umfangreichen Scripten verhindern soll da man damit erheblichen Schaden anrichten kann... lass mal in deinem Script nicht eine Zeichenfolge anfügen sondern massenweise Dateien für immer löschen.

Wer den zusätzlichen Schutz nicht möchte startet die powershell als Admin und deaktiviert den Schutz über "set-executionpolicy unrestricted" damit geht es für immer.

Es ist nicht deaktiviert - nur erschwert.

Im Firmenumfeld lässt es sich auch für alle dauerhaft aktivieren.
 

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
Bei mir Funktioniert es mit sed nicht
Das ist schade. Vielleicht hättest du noch ein paar Angaben posten sollen.

Benutzt du Windows oder ein richtiges Betriebssystem?

Powershell ist schon ganz ok. Du kannst das Script von DrFuture ja auch in der Powershell aufrufen. Damit ersparst du Dir die umständlichen Berechtigungsprobleme. Mit der CMD geht das bestimmt auch irgendwie. Allerdings ist die Syntax der CMD so grottig, dass man das eigentlich nicht darin machen will.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.573
@phre4k: Eventuell "\r\n" als Delimeter von Zeilen und nicht "\n" oder "\r" allein? Die müssten abgetrennt und danach angefügt werden, so werden sie wohl zur Zeile angefügt, daher die Verschiebung.
 
Zuletzt bearbeitet:

musv

Bekannter NGBler

Registriert
15 Juli 2013
Beiträge
3.454
Ort
/dev/null
verwende die Bash (Shell)
Lade die Datei mal bitte im Vim und gib dann ein (nicht im Eingabemodus sondern im "Normalmodus"):
Code:
:set list
Damit zeigt er dann die unsichtbaren Steuerzeichen an.

Das Fileencoding kannst du Dir anzeigen lassen mit:
Code:
:set fileencoding
 

udg

Neu angemeldet

Registriert
8 Feb. 2014
Beiträge
70
ist das noch aktuell? könnte dir ein Tool machen. Wenn ja, dann wäre so eine TxT Datei hilfreich um am richtigen Patienten zu arbeiten
 

Meta

gesperrt

Registriert
11 Feb. 2017
Beiträge
1.379
Ort
Ostberlin
Zuletzt bearbeitet:
Oben