我想将以下命令行写入shell脚本:
cat text.tsv |
grep -Pvi '.\t.\t.*\bHotels|?????????|??????|?????|?????|???|????|????|????|??????|??|??|??|??|??|??|??\b' |
awk '{print $0,"\t","column1"} > Text2.tsv
Run Code Online (Sandbox Code Playgroud)
但是当我把它放到.sh文件中时,所有非ascii字符都会被忽略:
cat text.tsv |
grep -Pvi '.\t.\t.*\bHotels|?????????|??????|?????|?????|???|????|????|????|??????|??|??|??|??|??|??|??\b' |
awk '{print $0,"\t","True"} > Text2.tsv
Run Code Online (Sandbox Code Playgroud)
如何将.sh文件设置为UTF-8?我试过了:
iconv -c -f ASCII -t UTF-8 Test.sh > Test2.sh
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.
使用Shell脚本(Bash),我试图对列表中所有不同变量的列求和.假设我有一个Test.tsv文件的以下输入
Win Lost
Anna 1 1
Charlotte 3 1
Lauren 5 5
Lauren 6 3
Charlotte 3 2
Charlotte 4 5
Charlotte 2 5
Anna 6 4
Charlotte 2 3
Lauren 3 6
Anna 1 2
Anna 6 2
Lauren 2 1
Lauren 5 5
Lauren 6 6
Charlotte 1 3
Anna 1 4
Run Code Online (Sandbox Code Playgroud)
我想总结一下每个参与者赢了多少钱.所以我想得到这个结果:
Sum Win Sum Lost
Anna 57 58
Charlotte 56 57
Lauren 53 56
Run Code Online (Sandbox Code Playgroud)
我通常会做的是每人和每列的总和,并一遍又一遍地重复这个过程.请参阅下文,我将如何为上述示例执行此操作:
cat Test.tsv | grep -Pi '\bAnna\b' | cut -f2 -d$'\t' |paste …Run Code Online (Sandbox Code Playgroud)