A. LINUX刪掉換行符
去掉文件中的換行符
(1)tr命令的操作是針對文件的操作,它把整個文本當做操作的對象,所以可以直接去除文件中的換行符
tr '\n' ' ' < file
(2)sed的操作對象是行.而作為行分割符號的回車符,本身是不屬於行的.所以sed中必須加上N命令,把下一行的內容添加到當前的pattern space中,這樣實際上是把相鄰的2行合並了.下一次仍然是先n,再p,再N,開始新的輪回:
cat file | sed 'N;s/\n/ /'
所以上面的語句是不能把文件內容合並為一行的,到底該怎麼寫,我暫時沒有想到,呵呵
(3)直接用awk
awk '{printf("%s ",$0)}' file
(4)當然,用echo也是可以的:
while read line;do echo -n "$line"; done < awk_help.txt, 這樣,可以把awk_help.txt的內容合並為一行
sed -e "s#\[/r][/r][/n]#\[/r][/n]#g" file
B. shell如何將多個文件合並並以回車符作為換行符並刪除文件
shell將多個文件合並並以回車符作為換行符並刪除文件:tr命令的操作是針對文件的操作,它把整個文本當做操作的對象,所以可以直接去除文件中的換行符。
不應該用單引號或雙引號吧!應該用反引號(就是ESC下面那個鍵),以前我也犯過類似的毛病。因為反引號在shell中的字元串會被解釋成為命令。還有echo的-e選項是對轉義字元進行解析,默認的是不解析的。
shellKorn Shell(ksh):
有很長一段時間,只有兩類shell供人們選擇——Bourne shell用來編程,csh用來交互。為了改變這種狀況,AT&T貝爾實驗室的David Korn開發了ksh。ksh結合了所有的C shell的互動式特性,並融入了Bourne shell的語法。
ksh廣受用戶的歡迎。它還新增了數學計算,進程協作(coprocess)、行內編輯(inline editing)等功能。ksh是一個互動式的命令解釋器和命令編程語言。它符合POSIX——一個操作系統的國際標准。POSIX不是一個操作系統。