Skip to content

Instantly share code, notes, and snippets.

@Iruyan-Zak
Created May 22, 2017 04:51
Show Gist options
  • Save Iruyan-Zak/3c71b1cf07660c1b8956caf692a4c13e to your computer and use it in GitHub Desktop.
Save Iruyan-Zak/3c71b1cf07660c1b8956caf692a4c13e to your computer and use it in GitHub Desktop.
2017/04/22のシェル芸勉強会の回答
Q1.1 sed -n '/\\begin{figure}/,/\\end{figure}/p' | sed '/figure/d'
Q1.2 sed -n '/\\begin{figure}/,/\\end{figure}/p' | sed '/figure/d' | sed -n '/include\|caption/p' | sed 's/.*{\(.*\)}.*/\1/' | tac | xargs -l2 | tac
Q2 sed '/^%/d' | sed -n '/\\section/,/。/p' | sed 's/\([^。]*\)。.*/\1。/'
Q3 sed 's/%.*//' | tr '\n' '%' | sed 's/footnote{/\n/g' | tail -n+2 | sed 's/\([^{}]*\({[^}]*}[^{}]*\)*\)}.*/\1/' | tr % '\n'
Q4 # for i in $(cat contents.tex | sed 's/\(.*\\section.*\)/IRUYAN\n\1/' | sed '0,/IRUYAN/d' | tr '\n' ';' | tr ' ' '`' | sed 's/IRUYAN/\n/g'); do; echo $i; done # j=$(echo $i | sed 's/}.*//' | sed 's/.*{//' | tr '`' _); echo $j; done # $i | tr ';' '\n' | echo $j; done # tee $j >/dev/null; done
Q5 grep -Po '(\p{Han}|\p{Katakana})+座標系' | sort -u
Q6 sed 's/%.*//' | sed 'N;s/^\n\(.\)/\n \1/' | sed '1i\\' | sed 'N;s/^\n\(.\)/\n \1/' | sed '1d' | sed 's/ \(.*\(section\|begin\|includegraphics\|label\).*\)/\1/'
Q7 sed 's/^%.*//' | sed -ze 's/\n\n/;;/g' -ze 's/;\n/;;/g' -ze 's/\n;/;;/g' | sed -z 's/[\n;]\(\\\(end\|begin\)[^\n]*\)[\n;]/;\1;/g' | sed -z 's/\n\t/;\t/g' | tr -d '\n' | tr ';' '\n'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment