Unter Linux können Sie mit der for-Anweisung Zeichen an verschiedenen Stellen in der Zeile mit dem Befehl ** sed ** einfügen. Ich denke, es kann auf andere Befehle angewendet werden. (Es scheint einen einfacheren Weg zu geben ...)
insert.sh (Sie können anstelle eines Shell-Skripts auch die Befehlszeile kopieren und einfügen.)
#!/bin/bash
cat sequence.txt > sequence2.txt
for int in 15 12 9 6 3
do
echo "$(sed -E "s/(^.{$int})/\1-/g" sequence2.txt)" > sequence2.txt
done
##Alle 3 Zeichen"-"Einführen
## sequence.txt -> ("-"Einfügen) -> sequence2.txt
Ausführungsergebnis
$ cat sequence.txt
xxxx5xxx10xxx15
xx3xx6xx9x12x15
xxxxAxxxxAxxxxA
xxAxxAxxAxxAxxA
$ ./insert.sh ; cat sequence2.txt
xxx-x5x-xx1-0xx-x15-
xx3-xx6-xx9-x12-x15-
xxx-xAx-xxx-Axx-xxA-
xxA-xxA-xxA-xxA-xxA-
sed -E" s / (^. {$ Int}) / \ 1- / g "sequence2.txt> sequence2.txt
Normalerweise ist der Inhalt von ** sequence2.txt ** leer, wenn Sie dies mögen, aber indem Sie echo" $ (command) "> sequence2.txt
> sequence2.txt
ausgeführt wird, und die Operation ** leert den Inhalt von ** sequence2.txt vor sed
** Weil es fertig ist (als Ergebnis wird es "sed", um Daten zu leeren).
Der Inhalt des "echo" $ (Befehl) "" wird vor der "> sequence2.txt" ausgeführt, sodass ** sequence2.txt **) </ font> $ int
** der for-Anweisung im Befehl sed
verwenden zu können, müssen Sie""
verwenden (using''
ist eine Variable in der Variablen. Weil es nur als Zeichenkette erkannt wird)Es scheint verschiedene andere Methoden für die Ausgabe in die gleichnamige Datei zu geben. Wenn Sie also interessiert sind, lesen Sie bitte den unten stehenden Link. (1. Link)
Zu> 1.
Verarbeiten Sie die Datei mit Bash und überschreiben Sie das Ergebnis mit derselben Datei
Zur gleichnamigen Datei umleiten
In Bezug auf 2.
[[bash] Unterschied zwischen "" "," \ "und" "- eher Reisschule](https://blog.goo.ne.jp/01_mai/e/ a4f9f01fb647066d0c7eb37e8ae0a254)
Recommended Posts