2013-04-17 176 views
-2

我有以下內容的文本或TSV文件轉換隻能在文本或TSV文件空間一段話的詞與詞之間標籤:如何使用bash腳本

FILE:sample_txt.txt:

1 0x0001 ram_var2 int                         
              test.c func2 63  Y            "The expression '   ram_var2=e; 
    ' at line no 63 has been modified in file test.c. Hence all read checks are applied 
"              test.c func2 68  Y 
             "The expression '   h=ram_var2;' at line no 68 has been modified in file test.c. Hence all read checks are applied 

現在我想刪除單詞或完整句子之間的所有不必要的選項卡。 例如,我想這句話應該是這樣的:

"The expression 'ram_var2=e; ' at line no 63 has been modified in file test.c. Hence all read checks are applied" 

如何實現這一目標使用Linux bash腳本。實際上腳本應該能夠處理腳本中所有句子之間的所有這些標籤,並且應該注意其他標籤不應該受到影響。如何實現這一點。請在此引導我。我對bash腳本非常陌生。任何幫助將肯定會感激。

回答

0
sed -i "s/\t/ /g" $1 

這告訴sed查找製表符,並用空格替換所有制表符。

+0

感謝您的回覆。但我想只替換文件中所有雙引號(即「」)之間的選項卡,而不是其他選項。你能爲此提供解決方案嗎?這對我很有幫助。請.. – user1497818

+0

等待您的回覆湯姆。 – user1497818

+1

我通過sudo_O得到了一個解決方案。即:awk'{$ 1 = $ 1} 1'ORS =''check_1.xls | grep -o'「[^」] *「' 但是我只打印雙引號之間的行,並且不打印文件的所有內容 – user1497818