В эти дни можно использовать подробные пути для монтирования определенного устройства.
Например:
mount /dev/disk/by-id/ata-ST31500341AS_9VS2AM04-part1 /some/dir
mount /dev/disk/by-id/usb-HTC_Android_Phone_SH0BTRX01208-0\:0 /some/dir
С awk
:
awk ' {print;} NR % 2 == 0 { print ""; }' inputfile
С sed
(GNU
расширение):
sed '0~2 a\\' inputfile
С bash
:
#!/bin/bash
lines=0
while IFS= read -r line
do
printf '%s\n' "${line}"
((lines++ % 2)) && echo
done < "$1"
Другой awk аромат:
awk '{ l=$0; getline; printf("%s\n%s\n\n", l, $0) }'
sed n\;G <infile
... это все, что вам нужно...
For example:
seq 6 | sed n\;G
1
2
3
4
5
6
... (и пробел следует за 6 также)... или....
seq 5 | sed n\;G
1
2
3
4
5
(и ни одна пустая строка не следует за 5)
Если пустая строка всегда должна быть опущена в последней строке:
sed 'n;$!G' <infile
С (ГНУ)sed
:
sed '0~2G'
Короткий (Некрасивый для N=100):
sed 'n;G'
man sed объясняет ~как:
first ~ step
Match every step'th line starting with line first. For example, ``sed -n 1~2p'' will print all the odd-numbered lines in the input stream, and the address 2~5 will match every fifth line, starting with the second. first can be zero; in this case, sed operates as if it were equal to step. (This is an extension.)
С другими sed (Подсчет новых строк):
sed -e 'p;s/.*//;H;x;/\n\{2\}/{g;p};x;d'
Или, чтобы быть более переносимым, запишите как (удалить комментарии для некоторых версий sed):
sed -e ' # Start a sed script.
p # Whatever happens later, print the line.
s/.*// # Clean the pattern space.
H # Add **one** newline to hold space.
x # Get the hold space to examine it, now is empty.
/\n\{2\}/{ # Test if there are 2 new lines counted.
g # Erase the newline count.
p # Print an additional new line.
} # End the test.
x # match the `x` done above.
d # don't print anything else. Re-start.
' # End sed script.
С awk
, вероятно:
awk '1 ; NR%2==0 {printf"\n"} '
[[ ]]
протестировать:while read line; do echo "$line"; ((lines++ % 2)) && echo; done
. – manatwork 29.10.2011, 17:57sed '0~2 a\ '
добавляет пространство к каждой вставленной новой строке. Если Вы хотели добавить новую строку после того, как каждая строка, любой из них так же работает:sed '0~1 a\ '
,sed 'a\ '
, или простоsed G
. – Acumenus 07.11.2013, 21:20