linux下的格式問題,與讀取不了最後一行
vim中顯示windows或者dos的換行符^M
linux下,如果需要在vim中檢視^M,需要使用如下命令:e ++ff=unix % 。
有時候,我們在 Linux 中開啟曾在 Win 中編輯過的檔案時,會在行尾看到 ^M字元。雖然,這並不影響什麼,但心裡面還是有點不痛快。如果想要刪除這些 ^M 字元,可以使用 Vim 來輕鬆搞定它。
在 Vim 的命令模式中輸入 :%s/^M$//g 後,回車即會自動刪除該檔案中的所有 ^M 字元。
^M 注意要用 Ctrl + V Ctrl + M 來輸入
Linux、windows下回車換行格式轉換回車換行結尾轉換
一、
1. 用sed命令替換
sed -e 's/^M//g' original.txt > target.txt (注意^M 在Linux/Unix下是這樣輸入的:先按CTRL+v,接著按CTRL+SHIFT+m,呵呵~~ 其實俺主要就是為了記錄一下這個輸入方法)
2. 在vi中替換
:%s/^M//g
3.sed命令替換
sed -e 's/.$//' dos.txt > linux.txt
二、Linux文字傳到windows系統,轉換方法:
sed -e 's/$/\r/' 1pnet.txt >dos.txt
while read的關於讀取最後一行的問題
windows使用\r\n作為行結尾,而unix使用\n作為行結尾使用notepad編輯的檔案,如果最後一行沒有回車,採用二進位制方式上傳到unix後,因為最後一行沒有\n,會被認為是不完整的檔案迴圈讀到最後一行後,認為達到檔案結尾,那個read SERVER會返回假,迴圈結束。
1、最好使用dos2unix命令轉換為unix格式
2、實在不行,只能在while迴圈之後,再新增一個額外處理
[shell] while read line最後一行讀不出
如果存在一個文字${file},使用while read line去讀取時發現,最後一行無法讀出:
while
echo "$line 1 n"
done< ${file}
如何解決這種情況呢,可以考慮以下的方法:
DONE=false
until $DONE
do read
|| DONE=true
echo "$REPLY 1 n"
done< ${files}
相關推薦
linux下的格式問題,與讀取不了最後一行
vim中顯示windows或者dos的換行符^M linux下,如果需要在vim中檢視^M,需要使用如下命令:e ++ff=unix % 。 有時候,我們在 Linux 中開啟曾在 Win 中編輯過的檔案時,會在行尾看到 ^M字元。雖然,這並不影
linux下編譯java檔案識別不了中文
我報的錯誤是這樣的:xxx.java:15: 錯誤: 編碼UTF8的不可對映字元。中文無法編譯,查了一下發現下面的解決方法:原因是我的java檔案的格式為gbk,我是直接在windows下寫好程式碼,然後直接放到linux上的。Linux下編碼格式預設為UTF-8,所以用ja
LINUX下使用風格特色讀去檔案最後一行兩次
fgets兩次讀取檔案最後一行?#include <stdlib.h>;#include <stdio.h>;int main(){FILE *fp;char ch[11];fp = fopen("jjk.txt","r");while(!feof(f
Linux系統下,Jenkins讀取不到環境變數的問題
#!/bin/bash -ilex-i: 互動式sh ;l:登陸式sh在指令碼之上加這行參考:原因講解:http://blog.csdn.net/zzusimon/article/details/570
linux下的select簡直太奇葩了:1024限定的不只是監聽的個數,還是檔案描述符的最大值,注意,是值
轉自:http://m.blog.csdn.net/blog/wuzili1234/12450451 我原來自以為對select就算不熟,基本原理和使用方法也略知一二了,做了一年多的伺服器程式設計,好歹知道linux下的select不支援超過1024個的描述符,好歹知道
linux下關閉了防火牆,重新啟動不了的情況
問題描述:我用systemctl stop firewalld 命令關閉了防火牆後無法啟動(報錯 unit is masked) 解決方法 :先解鎖 命令 systemctl unmask firewalld,然後在執行啟動命令 systemctl start fire
Linux系統下刪除亂碼檔案或者目錄,rm刪除不了
Linux系統下解壓zip或rar檔案後可能會產生亂碼檔案或者目錄,使用rm -rf fileName 無法刪除,rm -rf 刪除上一級目錄可以,但是需要先備份,比較費時間, 其實可以根據索引節點(i節點) 進行刪除。 [[email protected] Ul
Linux系統程式設計學習常見問題(一):VMware虛擬機器下Ubuntu18.04突然上不了網的問題解決方案
問題描述:VMware虛擬機器下Ubuntu18.04突然上不了網的問題:如下圖所示: 更改這裡的三種連線方式都是這樣 2. 分析:IP衝突或者配置出了問題,需重新更新設定。 3. 解決: (1)將模式調整為
基於TCP協議實現Linux下客戶端與伺服器之間的通訊,實現多執行緒、多程序伺服器
TCP是TCP/IP協議族中一個比較重要的協議,這是一種可靠、建立連結、面向位元組流的傳輸,工作在傳輸層。和TCP相對的不可靠、無連結、面向資料報的協議UDP,瞭解UDP客戶端與伺服器之間通訊請戳UDP協議實現的伺服器與客戶端通訊 TCP協議建立連線 首
在win8下安裝tomcat8.0後,點選bin 目錄下的啟動檔案startup.bat後,控制檯一閃而過,根本啟動不了tomcat
tomcat 8 解壓解壓 然後執行 \bin\startup.bat ,如果是黑色視窗一閃就過的話. 開啟 startup.bat檔案找到 搜尋 set EXECUTABLE ,然後在這行上面加上一句 set JAVA_HOME= 你的jdk安裝位置的絕對路徑
Linux環境變數配置出錯,導致登入不了......
Linux環境變數配置出錯導致的後果: 1、登陸不了 linux 了 2、基本命令全失效了(如:ls,vi,sudo,su,find,cp等),除了cd命令可用。 解決方法有如下三步: 1、從圖形登陸
在linux系統下程式設計,解決scanf不能輸入空格的問題
在linux系統下,使用scanf函式不能輸入空格,所以編者就自己封裝了一個EncapScanf函式,希望可以幫助到讀者。 #include <stdio.h> #include <stdlib.h> #include <string.h&g
解決linux下jdk版本與安裝版本不一致
在linux下安裝jdk後,利用java -version檢視版本使,發現不是自己所安裝的jdk版本,此時,不要著急,請看如下解決辦法: which java ——檢視預設的jdk安裝路徑 加
IDEA 中讀取不了配置檔案以及ClassPathXmlApplicationContext與FileSystemXmlApplicationContext
在學習Spring的時候(看的《Spring4.x企業應用開發實戰》),書上用的IDE 是 Myeclipse,這裡用的是IDEA。在編譯: String configPath = "com/baobaotao/advice/beans.xml"; Appli
sysaux在沒有備份的情況下,資料塊損壞,資料庫啟動不了處理
具體的思路: (一) 考慮在控制檔案中把sysaux表空間給剔除掉,啟動資料庫 1 建立控制檔案 alter database backup controlfile to tr
linux連個檔案都刪除不了,什麼鬼!
## 前言 最近不是redis 6.0 出了嗎,官網介紹最新穩定版本是 6.0.3 。於是,我就準備在自己的破小伺服器上安裝一下。於是,出現了後續的糟心事 (linux 下的檔案正常**刪除不了**)。 下載了最新版本,在原始碼包裡邊 make 之後,出現了好幾個錯誤,上網查了下,有人說最新版本有問題,建
【mysql】service mysql start出錯,mysql啟動不了,解決mysql: unrecognized service錯誤
開機 init.d starting 設置 tin 執行 rest root lan service MySQL start出錯,mysql啟動不了,解決mysql: unrecognized service錯誤的方法如下: [[email protected]/
linux 下如何查看mysql跑了哪些服務
位置 netstat host 導致 pro ive comm http lin ps -ef|grep mysql //現查處PID 然後 lsof -p +pid 就可以看到mysql跑的服務 百度出了別人的方法 當遇到mysql很卡,然後又想知
Linux 下MySQL 安裝與卸載
word stat client int etc dpkg init net 是否 參考博客:http://www.cnblogs.com/steven_oyj/archive/2010/05/24/1742808.html http://www.linuxidc.com/
linux下開發,解決cocos2d-x中編譯出現的一個小問題, undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
water span x86 code bject data- ace 技術分享 inux 解決cocos2d-x中編譯出現的一個小問題 對於cocos2d-x 2.×中編譯中,若頭文件裏引入了#include "cocos-ext.h",在進行C++編譯的時候會遇到例