Ubuntu
從帶有不需要的更改行的終端複製長的單行文本
locate ... | less
輸出一條長路徑,在終端中顯示為多行,儘管它實際上是單行。我通過用滑鼠選擇文本並點擊
Ctrl
++從終端複製Shift
路徑C
。當我將其粘貼到文本文件中時,我會在文本中得到不需要的更改行,與終端中顯示的方式完全相同。但我記得有時我可以通過 複製長路徑輸出
locate ... | less
,而不會引入不必要的換行,有時我不能。我不知道我是否會做一些不同的事情。所以我想知道如何確保問題不會發生?謝謝!
我的作業系統:Ubuntu 12.04。
我的終端:Gnome 終端 3.4.1.1
不要複製終端上顯示的內容(僅適合螢幕的內容),而是複制實際文本。使用外部實用程序xsel或xclip 之一(它們具有大部分相同的功能,我將在此答案中使用 xsel)從 X 剪貼板複製數據或將數據複製到 X 剪貼板。要復製到剪貼板,請在標準輸入上傳遞所需的內容。從剪貼板粘貼時,內容將寫入標準輸出。
在 less 中,使用
|
命令通過命令管道傳輸一堆行。滾動到要操作的第一行,鍵入mm
以設置標記,滾動到最後一行,然後鍵入|mxsel -b
並按Enter
。預定義了兩個標記:^
用於文件的開頭,$
用於文件的結尾。因此,要複製整個文件,請使用<|$xsel -b
. 要複製單行,請使用mm|mxsel -b
andEnter
。刪除
-b
複製到主要選擇而不是剪貼板的選項。
其實際行為如下:
如果您在
less
其中並且有一個文件的行很長,那麼如果您向下滾動長行並向上滾動,則在複製整個文本時會有多行。之後,當您將分割線向下滾動到終端底部並再次向上滾動時,將再次刪除換行符。對於視覺化: