sed -i -e 's:/Annots\[[^]]\+\]::g' FILENAME.PDF上述指令看來很玄,簡單說就是將文件中 "/Annots[....]" 的資料片段都給刪了。
若你不想全部刪,或者只想一個個刪,在 Ubuntu 上可以找一個 pdfedit。開啟檔案後,點「樹」的「頁面」可列出每一頁,每頁的「註釋」就是插入的這些重點標示。
靠軟體謀生真不易... 勤作筆記,幫助記憶...
sed -i -e 's:/Annots\[[^]]\+\]::g' FILENAME.PDF上述指令看來很玄,簡單說就是將文件中 "/Annots[....]" 的資料片段都給刪了。
convert file1.jpg file2.jpg file3.jpg output.pdf此功能是包含在 imagemagick 套件上,若沒有上述 convert 程式,可以自己安裝此套件:
sudo apt-get install imagemagick據說 Windows 和 MacOS 平台上也都有此程式。
$ dmesg | grep tty如上述範例的 device name 的是 ttyUSB0。一般來說,你可能會沒有足夠的權限:
[ 7842.193255] usb 2-2: pl2303 converter now attached to ttyUSB0
$ ls -l /dev/ttyUSB0像上述範例,你如果不是 root,就要把自己加入 dialout 那個 group (修改 /etc/group)。然後就可用自己喜好的 terminal emulator 開始上工了。
crw-rw---- 1 root dialout 188, 0 8月 31 10:33 /dev/ttyUSB0
avconv -i input.mp4 -f mp3 -vn output.mp3若不能成功,可能是缺少 mp3 codec,用以下方法安裝:
sudo apt-get install libavcodec-extra-53不習慣 avconv (亦即之前的 ffmpeg) 命令列的,可以安裝 winff 來用 GUI。
root@ubuntu:~# dmesg | grep eth以上輸出,很清楚看到系統抓的兩張網路卡,eth0 & eth1。有些時候,你會看到 "eth0 is renamed to eth1" 之類的訊息。這時候,你用 ifconfig 去看時,會發現網路界面的名稱跟系統抓到的好像不一致。遇到這種情況,請檢查 /etc/udev/rules.d/70-persistent-net.rules:
[ 1.678186] i2c-core: driver [aat2870] using legacy suspend method
[ 1.678186] i2c-core: driver [aat2870] using legacy resume method
[ 2.718021] via-rhine 0000:01:06.0: eth0: VIA Rhine II at 0xfebffc00, 00:11:22:ab:cd:ed, IRQ 19
[ 2.718735] via-rhine 0000:01:06.0: eth0: MII PHY found at address 8, status 0x782d advertising 01e1 Link cde1
[ 2.726899] forcedeth: Reverse Engineered nForce ethernet driver. Version 0.64.
[ 2.727153] forcedeth 0000:00:0f.0: PCI INT A -> Link[LMAC] -> GSI 20 (level, low) -> IRQ 20
[ 2.727160] forcedeth 0000:00:0f.0: setting latency timer to 64
[ 3.253390] forcedeth 0000:00:0f.0: ifname eth1, PHY OUI 0x732 @ 1, addr 00:33:44:ab:cd:ed
[ 3.253394] forcedeth 0000:00:0f.0: highdma pwrctl mgmt gbit lnktim msi desc-v3
# PCI device 0x1106:/sys/devices/pci0000:00/0000:00:0a.0/0000:01:06.0 (via-rhine)也就是說,網路界面的名稱可被 udev 重新定義。確認網路界面之後 (確認沒有的網路卡,可以直接刪除),就可以設定各個界面的網路型態:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:11:22:ab:cd:ef", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x10de:/sys/devices/pci0000:00/0000:00:0f.0 (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:33:44:ab:cd:ef", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
root@ubuntu:~# cat /etc/network/interfaces以上範例,eth0 會自動取得 IP,eth1 則自行指定 IP 位址。
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255