Ich habe eine Textdatei 3.txt, Inhalte wie dieseWie kann ich sed verwenden, um die zweite Zeile zu löschen?
123.ooo
aaaa - bbbb ccccc, dddd dddd, eeee fff (hhhhh ii jjj) 890a fff rrr 98.jjjj.1234
444.kkk
3.txt in Array VAR
#!/bin/bash
VAR=$(cat /tmp/3.txt)
LEN=${#VAR[@]}
for ((i=0; i<${LEN}; i++));
do
echo ${VAR[$i]}
sed -i -e "#"${VAR[$i]}"#d" /tmp/3.txt
cat /tmp/3.txt
done
Ich möchte echo 123.ooo
dann löschen Sie die 123.ooo
Linie in /tmp/3.txt
dann echo aaaa - bbbb ccccc, dddd dddd, eeee fff (hhhhh ii jjj) 890a fff rrr 98.jjjj.1234
lesen und lösche diese Zeile in /tmp/3.txt
aber zweite Zeile haben Platz, wie kann ich sed verwenden, um die zweite Zeile zu löschen?
Sorry über mein schlechtes Englisch. Ich möchte echo
erste Zeile, dann löschen Sie die erste Zeile in der Datei. echo
zweite Zeile, dann löschen Sie die zweite Zeile in der Datei. echo
dritte Zeile, dann löschen Sie die dritte Zeile in der Datei.
Was ist Ihr tatsächlicher Bedarf? Linien mit den Mustern '123.ooo' und' aaaa - bbbb ccccc, dddd dddd, eeee fff (hhhhh ii jjj) 890a fff rrr 98.jjjj.1234' in der Datei löschen? Ihr Skript scheint ziemlich umständlich für eine so triviale Aufgabe. Mach einfach 'sed -i.bak -e '/123.ooo/d'-e'/aaaa - bbbbcccccc, dddddddd, eeee fff (hhhhh iijjj) 890a fffrrr 98.jjjj.1234/d 'file' und damit fertig sein. – Inian
Bitte bearbeiten Sie Ihre Frage, um uns ein repräsentatives Beispiel Ihrer Eingabe und der entsprechenden gewünschten Ausgabe zu zeigen. –
Was ist Ihre gewünschte Ausgabe? –