在很多論壇中處理命令「sed」有幾十個和幾十個帖子。 不幸的是,沒有一個教程,沒有一個解決後我很基本的問題,我希望我會終於在這裏找到一個解決方案:)sed命令刪除一些文本
這,我有數百行像這樣的:
INSERT [dbo].[TABLE_ONE] ([TABLE_ONE_ID], [TABLE_ONE_MNEMO], [TABLE_ONE_DESC], [AUTO_ANALYSIS], [SCOPE_LEVEL], [IN_ABV], [TABLE_ONE_ORDER], [REPORT_ETE]) VALUES (204, N'PERFO TEST', N'PERFO TEST', N'N', 1, 0, 999, N'70')
我只是想刪除字符串 'DBO' 和N字頭,所以我想更換:
204, N'PERFO TEST', N'PERFO TEST', N'N', 1, 0, 999, N'70'
由:
204, 'PERFO TEST', 'PERFO TEST', 'N', 1, 0, 999, '70'
對於'dbo'字符串,我找到了一個解決方案,但我不喜歡它,因爲如果在文本中存在另一個d,另一個b或另一個o,它們也將被刪除。
sed -i 's/[dbo]//g' file
現在,如果我按照這些指示,按照教程(http://www.theunixschool.com/2014/08/sed-examples-remove-delete-chars-from-line-file.html),它應該工作,但它不會:
sed -i 's/dbo//g' file
它只是...沒有做任何事情!所以如果你有更好的解決方案,那會很棒!
現在,對於N前綴,我只想刪除昏迷後的所有字母N,就像上面的例子。如果你有解決方案,請不要猶豫分享它,我嘗試了不同的語法looooot,我只是可以刪除所有的N文件哈哈:)
謝謝你的時間!
如果'sed的-i 'S/DBO // G' file'不會做任何事情,那麼這意味着dbo'沒有在任何地方出現的人物'文件。我們需要一個來自文件的真實行的完整示例。 –
在我的文章的第一行(INSERT [dbo]。[TABLE_ONE] etc ...)在命令sed -i's/dbo // g'文件後,[dbo]仍然存在於文件中。任何改變,我不明白爲什麼。 @KevinMGranger – LaPalme
我剛剛在我的機器上試過,並且ti工作得很好。你確定你在正確的文件上運行它,然後查看正確的文件嗎? –