In BASH Ich führe den folgenden Liner, um eine individuelle Spalte/Feld nach dem Aufteilen auf ein bestimmtes Zeichen (man kann AWK auch wenn sie wollen sich auf mehr als ein Zeichen aufteilen, dh auf ein Wort in beliebiger Reihenfolge, ok).Wie man bestellt, definiert oder alle Spalten außer oder nach oder vor einer bestimmten Spalte
#This will give me first column i.e. 'lori' i.e. first column/field/value after splitting the line/string on a character '-' here
echo "lori-chuck-shenzi" | cut -d'-' -f1
# This will give me 'chuck'
echo "lori-chuck-shenzi" | cut -d'-' -f2
# This will give me 'shenzi'
echo "lori-chuck-shenzi" | cut -d'-' -f3
# This will give me 'chuck-shenzi' i.e. all columns after 2nd and onwards.
echo "lori-chuck-shenzi" | cut -d'-' -f2-
Hinweis des letzte Befehl oben, Wie kann ich die gleiche letzte cut
Befehl Scheiße in Groovy zu tun?
Für Ex: wenn der Inhalt in einer Datei und sie wie folgt aussehen:
1 - a
2 - b
3 - c
4 - d
5 - e
6 - lori-chuck shenzi
7 - columnValue1-columnValue2-columnValue3-ColumnValue4
ich folgende Groovy-Code versucht, aber es gibt nicht mich lori-chuck shenzi
(dh nach der sechsten Kugel und erste Vorkommen ignoriert die -
, mag ich meine Ausgabe lori-chuck shenzi
und das folgende Skript ist mir sein Rückkehr nur lori
(was mir die korrekte Ausgabe als mein Index [1]
im folgenden Code wird givning ist, damit ich weiß, dass).
def file = "/path/to/my/file.txt"
File textfile= new File(file)
//now read each line from the file (using the file handle we created above)
textfile.eachLine { line ->
//list.add(line.split('-')[1])
println "Bullet entry full value is: " + line.split('-')[1]
}
// return list
Auch gibt es einen einfachen Weg für die letzte Zeile in der Datei oben, wenn ich Groovy-Code verwenden kann, um die Reihenfolge der Spalten nach der Aufspaltung zu ändern, also die Reihenfolge umzukehren wie in Python [1:], [ 1], [: -1] etc .. oder in irgendeiner Art und Weise
Sie können auch reverse() aufrufen, wenn Sie möchten. Beispiel: line.split ('-') [1 ..- 1] .reverse() – Daniel
Eigentlich ganz in der Nähe, aber was ich jetzt in der Auswahlliste des Active Choice-Plugins bekommen habe, ist, anstatt ein STRING ie 'lori-chuck zu bekommen Shenzi, ich habe '[lori, chuck, shenzi]' dh es hat eine LISTE erstellt, die nicht das ist, wonach ich gesucht habe. Ich habe auch 'return list.toString()' versucht, aber jetzt sehe ich nichts mehr im Active Choice-Plugin (wo ich diesen groovigen Code ausgeführt habe) in Jenkins. –