记录学习过程中的点点滴滴
split
[shell学习笔记]sort、uniq、cut、paste和split用法详解
八 24th
今天学习了sort, uniq, cut, paste和split命令的用法,其中sort的选项比较多一些,其它的命令就比较简单了
关于sort,本站之前写过一篇关于sort的高级用法,请点击这里
一、Sort命令
sort [OPTION]… [FILE]…
对文件按指定的域进行排序
常用选项:
- -c: 检测文件是否已经排序
- -m: 将两个已经排序的文件进行合并
- -u: 在排序过程中,删除重复的行
- -o: 保存排序后的文件
- -t: 域分隔符,默认为空格和tab
- -n: 指定待排序的域为数字类型
- -r: 逆序排序,默认为正向排序
- -b: 按域排序时忽略第一个空格
- +n: 按照第n个域进行排序,域从第0个开始计数
- +m.n: 按照第m个域的第n个字符开始开始排序
- -k: 按照第k个域进行排序,域从第1个开始计数
常见的用法例子:
sort -o output.txt your_file.txt #对文件按第一域进行排序,将排序结果保存到output.txt sort -t: -r +2n your_file.txt #对文件按照第2个域进行逆向排序,第二个域为数字类型,同时分割符为: df | sort -b -r -k5 #按照磁盘的占用率从高到底进行排序输出
二、uniq命令
uniq [OPTION]… [INPUT [OUTPUT]]
从文件中去除或删除重复的行,在功能上和sort -u类似
常用选项:
- -u: 只显示不重复的行
- -d: 只显示重复的行
- -c: 打印每一行出现的次数
- -fn: 忽略前n个域
常用的用法例子:
uniq sort_file.txt #删除文件中重复的行 uinq -c sort_file.txt #显示每行出现的次数 uinq -d sort_file.txt #只显示出现次数>=2的行
三、join命令
join [OPTION]… FILE1 FILE2
将两个排序的文件合并为一个文件
常用选项:
- -j n m: 选择连接的域,n为文件号,m为域号
- -o n.m : 指定显示的域,n为文件号,m为域号
- -an: 显示文件n中不匹配的文件行
- -t: 定义分隔符
常见的用方法:
join sort_file1.txt sort_file2.txt #合并两个文件,以第一个键排序 join -j 1 1 -j 2 2 sort_file1.txt sort_file2.txt #按第一文件的第一个域和第二个文件的第二个域作为key,进行合并 join -o 1.1 , 2.2 sort_file1.txt sort_file2.txt #只显示第一个文件的第一个域和第二个文件的第二个域
四、cut命令
cut OPTION… [FILE]…
从文件中获取指定域
常用选项:
- -d: 分割符
- -f: 输出域的编号
- -c: 输出字符的编号
常见的用法:
cut -d: f3 file.txt #输出以:分割的第三个域 cut -d: f 1, 6 file.txt #输出以:分割的第一个和第六个域 ls -al | cut -c1-3 #显示ls输出每行的前三个字符
五、paste命令
paste [OPTION]… [FILE]…
将文件的行进行merge
常用选项:
- -d: 指定两个文件的行合并后的分割符
- -s: 将每个文件合并为一行,而不是按行进行合并
常见用法:
paste file1 file2 #将两个文件的每行合并 paste -d: file1 file2 #将两个文件的每行合并,分隔符为: paste -s file1 file2 #将file1的内容合并为一行,将file2的内容合并为一行
六、split命令
split [OPTION]… [INPUT [PREFIX]]
将文件按大小分为多份
常用选项:
- -output_file-size: 指定文件被分割的行数
- prefix: 输出文件的前缀
常见用法:
split -20 file #将文件每20行进行一次分割
js中的split函数的用法
十二 14th
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator[, limit]])
参数
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数。
说明
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator 不作为任何数组元素的部分返回。
示例
下面的示例演示了 split 方法的用法。
function SplitDemo(){ var s, ss; var s = "The rain in Spain falls mainly in the plain.";
//
在每个空格字符处进行分解。ss = s.split(" ");
return(ss);
} 本文地址:
http://www.yaronspace.cn/blog/index.php/archives/301
std::string的split函数的自定义实现
十一 14th
std::string中未定义split函数,网上找到一种方法实现,分享之
//自定义实现split函数
void split(std::string& s, std::string& delim,std::vector< std::string >* ret)
{
size_t last = 0;
size_t index=s.find_first_of(delim,last);
while (index!=std::string::npos)
{
string tt = s.substr(last,index-last);
tt.
ret->push_back();
last=index+1;
index=s.find_first_of(delim,last);
}
if (index-last>0)
{
ret->push_back(s.substr(last,index-last));
}
}
近期评论