有時(shí)候,我們寫(xiě)的腳本中有一些錯(cuò)誤。我們修改錯(cuò)誤,運(yùn)行腳本,但系統(tǒng)再次報(bào)錯(cuò)。并且這個(gè)改錯(cuò)報(bào)錯(cuò)的過(guò)程可能會(huì)發(fā)生很多次。碰到這些情況,首先需要找到有問(wèn)題的行或命令,這可以通過(guò)一些調(diào)試語(yǔ)句來(lái)輕松做到。一旦發(fā)現(xiàn)這條語(yǔ)句,嘗試在命令提示符下執(zhí)行相同的語(yǔ)句。如果它在命令提示符下開(kāi)始正常運(yùn)行,你就可以容易的推斷出它不能正常運(yùn)行的原因了??赡苁怯捎谀承╁e(cuò)誤輸入的命令,或者是某些環(huán)境變量不匹配,或者是從不同的地方引用了某個(gè)二進(jìn)制文件等等。這種方法會(huì)讓調(diào)試變得簡(jiǎn)單易行。
3、考慮問(wèn)題要全面
現(xiàn)在我們來(lái)看個(gè)問(wèn)題。你想到了關(guān)于某個(gè)問(wèn)題的解決方案,但這個(gè)解決方案只適用于處理小型文件??墒钱?dāng)處理比較大的文件時(shí),你該怎么辦?舉個(gè)例子,我們想要得到一個(gè)文件的第一行內(nèi)容:
sed -n '1p' file
這條語(yǔ)句當(dāng)然會(huì)給出你想要的第一行內(nèi)容。可是如果處理的文件包含上百萬(wàn)條記錄呢?盡管上面的那條sed命令可以輸出文件的第一行內(nèi)容,但是想要處理大型文件一定會(huì)帶來(lái)性能上的問(wèn)題。
解決辦法:
sed -n '1p;1q' file
這條命令將只輸出第一行,同時(shí)退出程序。新聞熱點(diǎn)
疑難解答
圖片精選