我一直在試圖解決幾個小時的問題,並沒有找到解決方案。我正在嘗試重新格式化已被錯誤解析的文本文件。該文件格式包含名的列表,從最後的名頭,對行下面的一個麻煩的唯一的名字:將單個字符串移到上一行
Mussen, Steven
Fletcher, Bob
Monday, Mario
Glitch, Christopher
Fletcher, Bob
Ram, Dale
Ram,
Dale
Mussen, Steven
Von Hemie, Donnie
Gallape, Patrick
Desormore, J.
Sun, Dallas
Sun, Dallas
我試圖通過執行文件轉儲到一個bash數組:
declare -a GAMERS=($(cat Gamers.txt))"
然後運行一個for循環:
for i in "${GAMERS[@]}";do echo $i >>NewGamers.txt; done;
,給了我每行一個單詞。然後我用awk將每兩行合併成一個與嘗試:
awk 'NR%2{printf $0" ";next;}1' NewGamers.txt
問題是唐尼馮Hemie先生在他的名字三根弦,使我的awk的解決方案沒用。最終目標是簡單地解決糟糕的格式化問題,在這種情況下,我試圖將唯一的Dale移動一排。最終的輸出應爲:
Mussen, Steven
Fletcher, Bob
Monday, Mario
Glitch, Christopher
Fletcher, Bob
Ram, Dale
Ram, Dale
Mussen, Steven
Von Hemie, Donnie
Gallape, Patrick
Desormore, J.
Sun, Dallas
Sun, Dallas
任何想法,將海拉感激...
感謝您的快速回復..您給了我一些新東西來學習awk if-else語句。 –