【笔记】命令行文本处理工具记录
on 技术笔记
目录
1. 背景
在命令行处理文本数据是程序员或者数据工程师的基本技能,学会使用一些常用的工具对于提升效率有很大帮助。这里记录了一些常用工具的使用方法,以便以后查阅。
2. awk的使用
菜鸟编程上关于awk的使用介绍链接如下:https://www.runoob.com/linux/linux-comm-awk.html
2.1 处理你好问问数据中的应用
在处理你好问问唤醒数据时,使用到awk处理数据的代码如下:
for file in label_orig_sorted.txt transcript_orig_sorted.txt \
utt2spk_orig_sorted wav_orig_sorted.scp; do
awk -v new_utt_id=$dir/utt_new.list \
'BEGIN {
while (getline < new_utt_id) {
new_id[$1] = $2
}
}
{
printf("%s", new_id[$1]);
for(i=2;i<=NF;i++) printf(" %s", $i);
printf("\n")
}' $dir/$file > $dir/${file/orig_sorted/new}
sort -u $dir/${file/orig_sorted/new} > $dir/${file/_orig_sorted/}
done
2.2 学习使用awk的脚本示例
我在github上保存了学习使用awk的示例脚本:参考链接。