作业0-熟悉github¶
作业内容¶
1生成一个 50000行的文件,每一行可以包含字母,数字,长度不限。
按照字母顺序排序这个文件,输出所有的 unique行(只要输出 uniq行)
按照数字来排序这个文件,输出所有的 unique行
将上面的输出以覆盖写的方式重定向到一个文件中
将上面的输出以追加写的方式重定向到一个文件中
2随便生成一个文件,我们想要在这个文件中做以下几件事
找一个内容确定的字符串,比如"comp",并统计出现的次数
3测试一个 fork工作流
我的代码¶
#!/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 ; #生成1000个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 "com" strings2 | wc -w #统计生成的string2 中com出现的次数
运行截图¶


Fork 工作流的测试¶
在某个工作目录之下,先 git init初始化
接着 git config --global user.name "10211900416" 设置用户名
git config --global user.email "10211900416@stu.ecnu.edu.cn" 设置邮箱
然后git add xxxx 将xxxx添加到暂存区
然后git commit -m "first commit from 10211900416" 将暂存区文件添加到本地仓库
然后 git remote add origin https://gitea.shuishan.net.cn/10211900416/csapp.git #这里的git仓库地址就是打个比方。此处的操作建立了本地仓库和在线仓库的联系
然后 git pull --rebase origin master 将本地仓库与在线仓库同步
最后 git push -u origin master 将本地仓库的东西提交到了在线仓库
对于老师所给的仓库,我没有直接上传的权限,要先fork到自己的仓库列表(内容一致,但是所有者是我而不是老师), 然后按照上述操作将文件push到那个 fork后的仓库中。 最后, 回到老师的仓库,发起一个 pull request, 如果被接受,就发生了改变。
相关问题归档¶
1 fatal: remote origin already exists
在某个目录下不更换目录地址却要更换连接的远程仓库时,git remote add origin ……时出现了 fatal: remote origin already exists 错误
解决方法 先git remote rm origin
再输入 git remote add origin ……
2 ![rejected] master -> master(non-fast-forward)
Git push 后出现![rejected] master -> master(non-fast-forward) 产生这样的问题的原因时 git 仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。
解决方法 再git push -u origin master 之前git pull --rebase origin master 进行同步操作
3 Syntax error: "(" unexpected
运行shell脚本时,出现Syntax error: "(" unexpected 错误。这个与文件的权限有关系,因此只需要 chmod +x test.sh然后./test.sh即可正常运行
4 sort -d xxxx后并没有按预期一般严格地依据ancii值排序
先export LC_ALL=C 再 sort -d xxxx Linux中通过locale来设置程序运行的不同语言环境, locale 由ANSI C 提供支持。LC_ALL=C 的作用就是指定语言环境,使其使用该语言环境。