我的虛擬文本文件(一個連續的行)看起來是這樣的:文本的剪切和複製粘貼的規定位置
AAChvhkfiAFAjjfkqAPPMB
我想:
- 刪除特定文本的一部分(範圍);
- 複製粘貼(特定字符範圍)在文件內。
如何,我這樣做:
爲了削減在所需位置文本的一部分(從5到7個字符&從10到14個字符),我用cut
echo 'AAChvhkfiAFAjjfkqAPPMB' | cut --complement -c 5-7,10-14
AAChfifkqAPPMB
但我真的不知道如何複製粘貼文本。例如:將15到18個字符的文本複製並粘貼在字符1之後(也使用上一個剪切命令)。爲了得到這樣的最終結果:
fkqAAAChfifkqAPPMB
所以我必須提問:用perl,awk的給定範圍或sed的
- 如何閱讀的文本(從...到)&粘貼此文字在特定的位置。
- 如何將此文字粘貼與上一個剪切指令相結合,因爲剪切文字後會移動到左側,因此會複製錯誤的文字。
什麼'1'在這裏意味着'$ 0 = t「」$ 0} 1''? 另外我只是想說清楚:'$ 0 = t「」$ 0' - 結合到序列並打印出來(打印t&然後打印$ 0)。但是如果我想在'$ 0'內打印't'會怎麼樣?如何在'$ 0'字符串內的特定位置打印't'? – PoGibas 2013-02-10 18:21:01
Joachim Pileborg的回答使用'substr()' - 我可以想象使用這個來劃分最終的'$ 0'並以首選順序打印,但是它們應該是更簡單的方法。 – PoGibas 2013-02-10 18:26:17
'{...}'塊外面的'1'表示如果你想在例如打印時打印t,則打印$ 0。在第三封信後,你可以'$ 3 = $ 3''t'或'$ 3 = sprintf('%s%s',$ 3,t)' – Kent 2013-02-10 18:50:50