亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

Linux 刪除換行符的方法

添加時間:2017-5-25 18:23:34  添加: 思海網絡 

今天需要刪除文件里面的換行符,比如有一個文件a.txt:


1
2
3
4
5
6
7
8
9
10
1,2,3
4,5,6
1,2,3
4,5,6
1,2,3
4,5,6
1,2,3
4,5,6
1,2,3
4,5,6

1、使用vim刪除換行符

vim輸入命令:%s/\n//g

2、使用sed命令,例如 sed ':t;N;s/\n//;b t' a.txt

結果:1,2,34,5,61,2,34,5,61,2,34,5,61,2,34,5,61,2,34,5,6

解釋一下:


1
2
3
:t 定義label "t"
b t 轉到label "t" 繼續執行
N 先讀入一行到sed的模板空間,加個換行符(\n),再向sed模板空間追加下一行(之后sed 對模板空間中的內容執行s/\n/,/替換,并顯示替換后的內容)

3、使用td命令,例如:


1
2
cat a.txt | tr '\n' ' ' 
1,2,3 4,5,6 1,2,3 4,5,6 1,2,3 4,5,6 1,2,3 4,5,6 1,2,3 4,5,6

注意tr最后那個參數是空格,否則會報錯

Linux shell 中刪除文件的所有換行符

需要做一個小功能,就是把一個文本文件中的所有換行符都去掉。一般肯定是想到使用sed來修改啦。但是我搜了一下,并沒有找到sed要怎么輸入\n——我知道^M對應的是\r,但是\n卻失敗了,在命令行中直接被切割掉。
  原則上可以用\015這樣的方式來指定的,但是我實際操作發現并不行,沒有效果。所以最終我只能用直接輸入命令來做了(還沒驗證過寫成腳本是否能用)。

假設要替換的文件叫做in.txt,輸出文件為out.txt:


1
2
3
4
5
sed 's/^M//g' file.txt > tmp.txt
sed -i 's/\"/\\\"/g' tmp.txt
rm -f out.txt; touch out.txt
cat tmp.txt | xargs echo -n >> out.txt
rm -f tmp.txt

五個步驟分別為:

將Windows格式的換行轉換成UNIX格式,也就是刪除所有的\r字符。其中^M并不是直接輸入這兩個字符,而是通過在shell里面按住 Ctrl+V,然后再敲 M 得到的
將所有的雙引號轉義,因為后面的echo需要使用
創建一個全空的輸出文件
刪除所有的\n字符并輸出最終文件
刪除中間文件

 

關鍵字:Linux、換行符

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站