- Rosetta Code (solutions of different languages to the same tasks)
- TIBOE Index (about market shares of programming languages)
- Comparison of programming languages (about syntax)
- Programming language popularity chart (based on GitHub & Stack Overflow)
- Most popular coding languages of 2014
Tsuiu Nngthe
Free Software 自由軟體
2014-02-21
Programming Languages
About the versatile programming languages:
2014-01-07
How many lines in a file?
It's an easy (but not clear, please refer to the Note of wc below) question, but sill quite funny.
Tested under the Bash shell on Ubuntu 12.04 32-bit.
(1) wc
cat sample.txt | wc -l
or
wc sample.txt | awk '{print $1}'
awk is used to extract the 1st field.
Note: wc only counts the newline characters! The last line without newline is not counted. For example:
echo -ne "ab\ncd" | wc -l
would generate 1 (line), not 2.
Tested under the Bash shell on Ubuntu 12.04 32-bit.
(1) wc
cat sample.txt | wc -l
or
wc sample.txt | awk '{print $1}'
awk is used to extract the 1st field.
Note: wc only counts the newline characters! The last line without newline is not counted. For example:
echo -ne "ab\ncd" | wc -l
would generate 1 (line), not 2.
2013-07-27
Raw Screen Capture
To capture the raw screen, for example: (capture rectangle from (170,8) with width and height (760x650))
ffmpeg -f alsa -i pulse -f x11grab -r 25 -s 760x650 -i :0.0+170,8 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mov
To cut and compress, for example: (start from second 2 for a duration of 03:26)
ffmpeg -i output.mov -ss 00:00:02 -t 00:03:26 output.mp4
ffmpeg -f alsa -i pulse -f x11grab -r 25 -s 760x650 -i :0.0+170,8 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mov
To cut and compress, for example: (start from second 2 for a duration of 03:26)
ffmpeg -i output.mov -ss 00:00:02 -t 00:03:26 output.mp4
2013-04-09
How to customize Ubuntu 12.04 desktop i386 LTS? (Forbuntu 12.04.2.13)
利用Ubuntu 12.04.2 desktop i386 來做1个台灣版的Linux,就簡單共號做Forbuntu 12.04.2.13(Formosa GNU/Linux based on Ubuntu 12.04.2 subversion 13)。
共iso檔案裝踮USB flash,直接開機,免安裝就會當做一寡簡單的代誌,親像上網、看影片、查資料…。
2个bash script 就會當自動做。
共iso檔案裝踮USB flash,直接開機,免安裝就會當做一寡簡單的代誌,親像上網、看影片、查資料…。
2个bash script 就會當自動做。
2013-01-22
How to sort films by length?
(1)Version 1
用「ffmpeg -i」來掠影片的長度。
佇「xargs」內底用「bash -c」來執行1个以上的指令。
用「(...)」(subshell)共指令組合起來。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -print0 | xargs -0 -I % bash -c 'echo -ne "%\x00"; (ffmpeg -i "%" 2>&1 | grep Duration);' | awk -F '\x00' '{print $2,$1;}' | sort -k2
(2)Version 2
簡化Version 1。
檔名「%」愛用「"%"」,通好保護。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -print0 | xargs -0 -I % bash -c 'echo $(ffmpeg -i "%" 2>&1 | grep Duration) "%"' | sort -k2
(3)Version 3
改用「-exec」。
「{}」愛用「"{}"」。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -exec bash -c 'echo $(ffmpeg -i "{}" 2>&1 | grep Duration) "{}"' \; | sort -k2
用「ffmpeg -i」來掠影片的長度。
佇「xargs」內底用「bash -c」來執行1个以上的指令。
用「(...)」(subshell)共指令組合起來。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -print0 | xargs -0 -I % bash -c 'echo -ne "%\x00"; (ffmpeg -i "%" 2>&1 | grep Duration);' | awk -F '\x00' '{print $2,$1;}' | sort -k2
(2)Version 2
簡化Version 1。
檔名「%」愛用「"%"」,通好保護。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -print0 | xargs -0 -I % bash -c 'echo $(ffmpeg -i "%" 2>&1 | grep Duration) "%"' | sort -k2
(3)Version 3
改用「-exec」。
「{}」愛用「"{}"」。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -exec bash -c 'echo $(ffmpeg -i "{}" 2>&1 | grep Duration) "{}"' \; | sort -k2
2012-08-08
How to capture screen?
ffmpeg -f x11grab -r 25 -s 512x384 -i :0.0+8,40 -b 1500k ~/out.ogg
-f:格式。「x11grab」表示欲對X11的螢幕掠。
-r:frames per second。
-s:size,闊度、懸度。
-i:X11設備編號,通常就是「0.0」。「+8,40」(+x,y)表示欲對佗開始掠。
-b:bitrate,video的bitrate。
2012-07-28
How to backup karaoke DVD?
欲放卡拉OK的DVD 予媽媽唱歌,DVD player煞讀無DVD。愛緊想辦法,先用電腦共卡拉OK DVD備份落來。
(1)mplayer -identify dvd:// | grep -i title
先用mplayer 看有幾條歌(chapter),囥佇佗(title)。
結果有1逝顯示:
ID_DVD_TITLE_2_CHAPTERS=20
表示囥佇title 2,有20條歌。(第1个title四常是menu)
(2)for ((i=1; i<=20; i++)); do mplayer dvd://2 -chapter $i-$i -dumpstream -dumpfile $i.vob; done
用「mplayer」共歌備份落來。1條歌1个檔案。
(3)for ((i=1; i<=20; i++)); do ffmpeg -i $i.vob -b 1500k -acodec libvorbis -ab 160k -ac 2 $i.ogg; done
用「ffmpeg」共備份的vob 轉做「ogg」,較袂佔空間。
(1)mplayer -identify dvd:// | grep -i title
先用mplayer 看有幾條歌(chapter),囥佇佗(title)。
結果有1逝顯示:
ID_DVD_TITLE_2_CHAPTERS=20
表示囥佇title 2,有20條歌。(第1个title四常是menu)
(2)for ((i=1; i<=20; i++)); do mplayer dvd://2 -chapter $i-$i -dumpstream -dumpfile $i.vob; done
用「mplayer」共歌備份落來。1條歌1个檔案。
(3)for ((i=1; i<=20; i++)); do ffmpeg -i $i.vob -b 1500k -acodec libvorbis -ab 160k -ac 2 $i.ogg; done
用「ffmpeg」共備份的vob 轉做「ogg」,較袂佔空間。
訂閱:
文章 (Atom)