2013年4月30日 星期二

[Bash]去除文件中重複的內容

file文件內容
AAA
FFF
BBB
FFF
CCC
BBB
可以利用awk awk ' !x[$0]++' file 最後完成的檔案
AAA
FFF
BBB
CCC

[Bash]正規表示式找尋ip規格的字串

reg.txt 檔案類型 X hour YYminutes IP PORT Remark 目標 將reg裡的檔案 輸出成 IP,PORT,Remark less reg.txt|grep '.*minutes.*'|sed -e 's/.*minutes//i'|awk '{print $1","$2","$3}'>outputfile 找尋符合ip address規則的正規表示式(1.1.1.1~999.999.999.999) [0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}

[Bash] 移除UTF8標頭的BOM

情境: 把文字檔案從windows 移到Linux 在第一行會出現BOM的特殊符號(編輯文檔時 不會出現) 可以使用以下BASH中的awk指令做清除的動作 awk '{if(NR==1)sub(/^\xef\xbb\xbf/,"");print}' filename > outputfilename

2013年4月29日 星期一

[Bash] 找尋特定目錄下 相同內容的檔案

忘記是去哪找到的 下面的Bash主要是先用大小排列 之後用MD5再做一次判斷 列出相同內容的檔案名稱 find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all

[Bash]awk中參雜判斷條件寫法

檔案:test.1 內容: 目標() awk '{if($5!=4096&&$5!=""){print $5" "$9}}' test.1 結果:目標達成

2013年4月24日 星期三

[JSP]IE上的UTF-8 或UTF8

其實再寫網站部分一直都會遇到一個問題 如果再page中有中文的情況(不論是頁面或是之後引入的page) 在IE上都會變成很奇怪的亂碼 大致上就是把IE的編碼轉成UTF8 中文就自動回復 查了一下問題 問題指向 怪怪的~~我也有,寫UTF8 但是IE預設還是big5去看網頁 如果改成這樣 IE就會用原本想要的UTF8去瀏覽~~ 原來是UTF-8跟UTF8 差很大阿~~~

[JSP]log4j 中文亂碼解決問題

log4j 是個蠻方便好用的套件 雖然設定檔上還有很多需要學習的地方 在檔案輸出如果遇到中文 log4j預設的輸出是ASNI 所以預設為UTF8的編輯器會看到亂碼 如下圖 而在TOMCAT上看到卻是正常的: 所以我們可以在log4j上的設定檔案(log4j.properties)在檔案輸出的部分 多增加一行 log4j.appender.FILE.encoding=UTF-8 這樣 檔案編輯器就可以看到中文 (PS:請要將編輯器的編碼調成UTF-8 不然會變成可以看到ASNI 卻不能看到UTF8的情況)

2013年4月23日 星期二

[java]運行Jar時 指定文件編碼

運行Jar實 若沒指定文件編碼 則JVM會使用系統預設的編碼(這樣有可能會有把檔案複製到另一台機器上 中文打開都是亂碼的問題 EX:中文windows xp上輸出的文件->Linux ) 這時候就可以在運行Jar時 多加 -Dfile.encoding=編碼格式 java -Dfile.encoding=UTF-8 -jar jar檔案名稱 這樣就可以解決類似這樣的問題~

2013年4月19日 星期五

[JQuery] select 選取事件

根據上一篇文章 假設我們在在選擇部門的時候 需要變動後面select的資料 寫法大概是利用class="dep" $('.dep').change(function(){ var person=$(this).next("select");//取得後方面的select值 person.empty();//先將後方select清空 $.each(group1person, function(key2, value2) { person.append( ''); }); }); 其實還蠻簡單的 可以試看看~

[JQuery]檢查多重selected直是否有重複

在寫網頁的時候 有時會因為需要 所以會讓selected有重複現象發生(EX:按下button之後 附置一列一模一樣的selected)(見下圖) 所以當submit的時候 就需要去檢查原本的陣列中 是否已經存在有相同的元素 var values = []; $(".person").each(function() { var temp=$("option:selected", this).text(); var check=jQuery.inArray(temp, values); alert(check); if(check=="-1"){ values.push(temp); alert(temp); } }); 方法主要是用jQuery.inArray的方法去檢查 如果回傳值為-1 代表陣列中沒有此元素 就把他放進去

2013年4月17日 星期三

[SQL] SQL Server 欄位為空 filter

SQL Server 用JAVA 過濾的方法 Step1: while(rs.next()) { String mail=rs.getString(1); if(mail!=null){ System.out.println(mail); } 結果: 失敗~~~欄位為null的還是出現 上網GOOGLE了一下 結果發現 用SQL語句可以先過濾 (面對的SERVER 是SQL SERVER) select * from db1.dbo.aaa db1 join db2.dbo.Department db2 on db1.Dept = db2.ID WHERE db1.Email <> '' and db1.Email is not null 其中 db1.Email is not null 是針對欄位為null 另外 db1.Email <> '' 是針對 空白 結果OK~~~GET~~~

[JQuery]Jquery dialog close失效的解決方式

JQuery中附帶的dialog 可以很簡單的寫出精美的dialog 今天再寫了一個dialog用DIV包起來 想關閉 dialog 結果該死的剩下dialog的Title 跟兩個button 上網找了一些方法 後來終於讓我找到 JQuery ui dialog(‘close’)失效问题解决办法 用CODE簡單的說明一下 GETDialog = $("#createNew"); //將createNew轉變成全域變數(PS:前面沒有var) GETDialog.load('divcreate.jsp', createNewJOB).dialog({ resizable : false, title:"新增需求單", modal : true, width : 'auto', close : function(event, ui) { $("#createNew").hide(); $("#mask").hide(); } }); 這樣子的話 如果要關閉 GETDialog.dialog('close');

2013年4月16日 星期二

[JQuery]Datapicker 只能選擇大於等於今天的日期

Datapicker 是個非常好用的套件 簡單的設定 就可以幫你處理選擇日期的部分 但是在初始的情況下 可能會有誤選到過去日期的情況 所以 需要加入參數 minDate 限制啟始的時間 var dateToday=new Date(); $("#datepicker").datepicker({ showButtonPanel: true, minDate: dateToday, onSelect : function(date) { }, }); 成果如下圖: