每个多个定界符分割一个字符串

时间:2019-10-02 18:38:01

标签: bash shell

我正在尝试每七个管道 #skapa databasen och koppla till den import sqlite3 conn = sqlite3.connect('Minna_spel.db') cursor = conn.cursor() print("Opened database successfully!!!") #skapa tabbelerna i databasen cursor.execute("""CREATE TABLE IF NOT EXISTS my_boardgames (game_name text, genre text, recage int, playtime int, players int )""") print("created tabel successfully!!!") conn.commit() conn.close() def add_new_game(): conn = sqlite3.connect('Minna_spel.db') cursor = conn.cursor() val_game_name = input("Namn?") val_genre = input("Genre?") val_rec_age = input("Rekomenderad ålder?") val_play_time = input("speltid?") val_players = input("Antal Spelare?") conn.execute("INSERT INTO my_boardgames (game_name,genre,recage,playtime,players) VALUES (val_game_name,val_genre,val_rec_age,val_play_time,val_players)"); print("spelet är nu sparat !") conn.commit() conn.close() 分割一个字符串。我有一个像这样的字符串,我希望每七个都换行。

|

我知道,如果我想用定界符*wood*|*tree*|*animals*|*vegatables*|*house*|*plane*|*bus*|.........| 分割,我应该这样做:

|

但是每隔七个换行符,我都不知道该怎么做。我想得到的输出是这样的:

pwd | cut -b2- | tr '|' '\n'

那我该怎么做?非常感谢

1 个答案:

答案 0 :(得分:0)

考虑我的字符串为1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22| 这是我尝试过的方法(从标准输入中读取字符串):

printf  "$(sed -E 's/([^|]*\|){7}/&\\n/g' <<< '1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|')"
1|2|3|4|5|6|7|
8|9|10|11|12|13|14|
15|16|17|18|19|20|21|
22|