在BASH 中,我運行以下一行代碼,以便在給定字符上分割後獲得單獨的列/字段(如果使用AWK,也可以使用if他們想要在多個字符上分割,即以任何順序在單詞上分割,確定)。如何獲得給定列以外或之前或之後的有序列,定義列或所有列
#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-
注意上面的最後一個命令,我怎樣才能做到在Groovy中相同的最後cut
命令狗屎?
對於例如:如果內容是在一個文件中,他們看起來像:
1 - a
2 - b
3 - c
4 - d
5 - e
6 - lori-chuck shenzi
7 - columnValue1-columnValue2-columnValue3-ColumnValue4
我嘗試以下Groovy代碼,但它不是給我lori-chuck shenzi
(即忽略了第六子彈,第一次出現後,在-
的,我希望我的輸出爲lori-chuck shenzi
和下面的腳本將返回我只是lori
(這是givning我正確的輸出作爲我的指標是在下面的代碼[1]
,所以我知道這一點)。
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
另外,如果我可以使用Groovy代碼在分割後更改列的順序,即顛倒Python的順序,我們可以在上面的文件的最後一行中找到簡單的方法[1:],[ :1],[:-1]等。或者以某種方式
如果你願意,你也可以調用.reverse()。例如:line.split(' - ')[1 ..- 1] .reverse() – Daniel
實際上安靜的關閉,但現在我在主動選擇插件的可用選擇列表中獲得的是,而不是獲得STRING,即'lori-chuck shenzi,我得到了'[lori,chuck,shenzi]'即它創建了一個LIST,這不是我正在尋找的。我也嘗試過'return list.toString()',但現在我在Jenkins中看不到任何Active Choice插件(我在運行這個常規代碼的地方)。 –