#1 lab1

Merged
李泽朋 merged 13 commits from lab1 into master 2 years ago
  1. +23
    -0
      lab1/10211900416.sh
  2. +13
    -0
      lab1/10215501406.sh
  3. +13
    -0
      lab1/10215501406.txt
  4. +21
    -0
      lab1/10215501413.sh
  5. +40
    -0
      lab1/10215501417.sh
  6. +11
    -0
      lab1/hw1.sh

+ 23
- 0
lab1/10211900416.sh View File

@ -0,0 +1,23 @@
#!/bin/bash
chmod +x ./work1.sh #add permisson to execute
rm strings
rm sort_by_ascii
rm sort_by_num
rm summ
rm strings2
for i in `seq 1000`; #50000 lines is too long to wait, choose 1000 lines
do
echo $RANDOM | md5sum | cut -c 1-9 ;
done >> strings
export LC_ALL=C
sort -d strings | uniq -u > sort_by_ascii
sort -n strings | uniq -u > sort_by_num
cat sort_by_ascii >> summ
cat sort_by_num >> summ
for i in `seq 666`; #generate a file randomly
do
echo $RANDOM | md5sum | cut -c 1-9;
done >> strings2
grep -o "de" strings2 | wc -w

+ 13
- 0
lab1/10215501406.sh View File

@ -0,0 +1,13 @@
#1
for i in `seq 50000`;do echo $RANDOM | md5sum | cut -c 1-9 ;done > 1.txt
sort -d 1.txt | uniq
sort -n 1.txt | uniq
sort -d 1.txt | uniq > 1_uniq_by_asc.txt
sort -n 1.txt | uniq > 1_uniq_by_num.txt
cat 1_uniq_by_asc.txt | uniq >> 1_uniq_total.txt
cat 1_uniq_by_num.txt | uniq >> 1_uniq_total.txt
#2
for i in `seq 50000`;do echo $RANDOM | md5sum | cut -c 1-9 ;done > 2.txt
grep 'computer' 2.txt
grep -o 'computer' 2.txt | wc -l

+ 13
- 0
lab1/10215501406.txt View File

@ -0,0 +1,13 @@
#1
for i in `seq 50000`;do echo $RANDOM | md5sum | cut -c 1-9 ;done > 1.txt
sort -d 1.txt | uniq
sort -n 1.txt | uniq
sort -d 1.txt | uniq > 1_uniq_by_asc.txt
sort -n 1.txt | uniq > 1_uniq_by_num.txt
cat 1_uniq_by_asc.txt | uniq >> 1_uniq_total.txt
cat 1_uniq_by_num.txt | uniq >> 1_uniq_total.txt
#2
for i in `seq 50000`;do echo $RANDOM | md5sum | cut -c 1-9 ;done > 2.txt
grep 'computer' 2.txt
grep -o 'computer' 2.txt | wc -l

+ 21
- 0
lab1/10215501413.sh View File

@ -0,0 +1,21 @@
#!/bin/bash
# 读取随机数据并转为 base64 编码
head -n 50000 /dev/urandom | base64 > random;
# 抽取 50000 行数据
head -n 50000 random > random2;
# rename
rm random;
mv random2 random;
# 按 asc 排序
sort --unique random > unique_sort_by_asc;
# 按 num 排序
sort --unique --numeric-sort random > unique_sort_by_num;
# 追加写
cat unique_sort_by_asc > totall;
cat unique_sort_by_num >> totall;
# 匹配并统计字符
grep -o "com" totall | wc -l > number_of_com;

+ 40
- 0
lab1/10215501417.sh View File

@ -0,0 +1,40 @@
#!/bin/bash
#生成50000行包含字母与数字的文件
#需要从urandom中读取字母与数字,共50000次循环,大概需要5-10min左右。
for((i = 0; i < 50000; i++))
do
head -c 50 /dev/urandom | tr -dc A-Za-z0-9 >> RandFile;
echo -e \ >> RandFile;
done
#按字母排序
sort RandFile | uniq;
#按数字排序
sort -n RandFile | uniq;
#重定向到SortedFile1
sort RandFile | uniq >> SortedFile1;
#重定向到SortedFile2
sort -n RandFile >> SortedFile2;
#统计RandFile中 ab 出现的次数
grep -o ab RandFile|wc -l;
#git push到码园
git init #初始化
git add . #添加文件夹下所有文件
git commit -m "lab1 first commit" #把添加的文件提交到远程版本库
git remote add origin https://gitea.shuishan.net.cn/10215501417/csapp.git #建立远程连接
git push -u origin master #上传代码
#fork工作流:
#首先 fork目标仓库到自己的远程仓库
#再git clone到自己的仓库
git clone https://gitea.shuishan.net.cn/10215501417/Computer-Systems-Labs.git
#创建一个分支
git checkout -b hw
#将代码文件上传
git add 10215501417.sh
git commit -m "10215501417's cmommit"
#然后再发起一个pr到目标仓库

+ 11
- 0
lab1/hw1.sh View File

@ -0,0 +1,11 @@
sort data.txt | uniq -u
sort -n data.txt | uniq -u
sort data.txt > data2
sort -n data.txt > data3
sort data.txt >> data2
sort -n data.txt >> data3
grep ABC data.txt
grep -o ABC data.txt
grep ABC data.txt | wc -l
grep -o ABC data.txt | wc

Loading…
Cancel
Save