2010-11-17 104 views
0

有沒有辦法讓awk不打印固定寬度的列?沒有固定寬度格式的awk打印字符串?

例如:

"9", "TAYLOR TOWER, JACOB B. " 
"9", "UNIVERSITY HOSPITALS-EAST" 
"AR", "SCHOTTENSTEIN CENTER  " 
"B1", "NEWARK RESIDENCE HALL " 
"B2", "NEWARK RESIDENCE HALL " 
"CC", "OHIO STADIUM    " 
"D1", "TELECOM NETWORK CENTER " 
"DC", "SCHOTTENSTEIN CENTER  " 
"EN", "SCHOTTENSTEIN CENTER  " 
"GR", "UNIVERSITY HOSPITALS-EAST" 
"LL", "RANEY COMMONS, 2ND LT. AL" 
"MZ", "PHYSICS RESEARCH  " 
"MZ", "SCHOTTENSTEIN CENTER  " 
"NS", "STARLING LOVING HALL " 
"P1", "OHIO STADIUM    " 
"P2", "OHIO STADIUM    " 
"P3", "OHIO STADIUM    " 

我想這被打印爲:

"9", "TAYLOR TOWER, JACOB B." 
"9", "UNIVERSITY HOSPITALS-EAST" 
"AR", "SCHOTTENSTEIN CENTER" 
"B1", "NEWARK RESIDENCE HALL" 
"B2", "NEWARK RESIDENCE HALL" 
"CC", "OHIO STADIUM" 
"D1", "TELECOM NETWORK CENTER" 
"DC", "SCHOTTENSTEIN CENTER" 
"EN", "SCHOTTENSTEIN CENTER" 
"GR", "UNIVERSITY HOSPITALS-EAST" 
"LL", "RANEY COMMONS, 2ND LT. AL" 
"MZ", "PHYSICS RESEARCH" 
"MZ", "SCHOTTENSTEIN CENTER" 
"NS", "STARLING LOVING HALL" 
"P1", "OHIO STADIUM" 
"P2", "OHIO STADIUM" 
"P3", "OHIO STADIUM" 

注意在本文中,第二字段具有引號內沒有空格。這可能嗎?

回答

1

在AWK(GAWK/NAWK)

{sub(/[ ]*\"$/, "\"");print} 
1

我會用sed,而不是awk的,儘管你可以,如果你必須做gsub在AWK:

sed -e 's/ *"$/"/' 

含義「打開一個或多個空格,然後報價在該行的末尾逼到報價「