有些配置檔案或者指令碼有時候會出現最後一行沒有結束符的情況,如下,
[root@centos-7-2 /home]# cat noeol.txt
/var/log/my.log [root@centos-7-2 /home]#
最後一行和提示符處在同一行。這樣會導致配置檔案格式錯誤,如果是指令碼,則無法執行最後一條語句,因此肯定是有問題的。
目前尚無專門用於處理該問題的命令,可以使用diff命令比較後出現的關鍵字no newline來輔助判斷。先看下使用diff命令比較後的差異內容,
0a1,5
> /var/log/my.log
\ no newline at
endof
file
[root@centos-7-2 /home]#
可見,對於沒有結束行的檔案會有特別提示,因此可以使用以下命令鑑別,
if diff /dev/null $ | tail -1 | grep '^\\ no newline' > /dev/null;then
echo
"no eol"
fi
至於修復的話,直接往檔案裡寫入空字元即可,如下,
if diff /dev/null $ | tail -1 | grep '^\\ no newline' > /dev/null;then
echo >> $
fi
echo會自動在檔案最後追加結束符。 使用fsck命令檢查並修復linux檔案系統
今天遇到乙個奇怪的問題 非正常重啟後,或熱插拔主機板介面裝置?導致滑鼠,鍵盤失去響應,重新插拔usb介面後,滑鼠鍵盤電源燈無法點亮,螢幕無響應。再次重啟後出現黑屏,提示錯誤如下 大意就是 dev sda2分割槽包含乙個檔案系統錯誤,inodes 在被損壞的孤立的節點表中。要用fsck這個命令修復。按...
只有mdf檔案而沒有ldf檔案修復方法
1.建乙個同名的資料庫 2 修改伺服器設定 允許多系統目錄進行直接修改 設定 允許多系統目錄進行直接修改 exec sp configure allow updates 1 reconfigure with override 3 停止sql server 4 用原mdf檔案覆蓋新建庫的資料庫檔案 5...
判斷檔案並計算單詞
需求 1.判斷所給目錄內哪些二級目錄下有沒有text.txt檔案。2.有text.txt檔案的二級目錄,計算出該test.txt檔案裡面所給出單詞的次數。3.假如指令碼名字為1.sh,執行指令碼的格式為 1.sh 123 root,其中123為目錄名字,而root為要計算數量的單詞。bin bash...