Размещение соответствующего номера вхождения слева от самого вхождения

У меня была такая же проблема с моим Леново, для меня это тоже был ад. Я исправил вот так:

apt-get install firmware-iwlwifi
rfkill unblock all

После перезагрузки я смог использовать wlan0.

Примечание. :Это было для Debian Jessie, должно быть то же самое и для Kali.

0
09.09.2019, 07:19
2 ответа

Попробуйте это,

i=1;
while [ "$( grep -o '.mp3' file)" != "" ];
do
 sed -i "0,/.mp3/ s/.mp3/ $i.mp3/" file
 i=`expr $i + 1`;
done
0
28.01.2020, 02:39
$ awk -v i=1 '/ \.mp3/ {sub(/ \.mp3/," "i++".mp3",$0)};1' input.txt
line 1
wget 1.mp3 url
line 2
wget 2.mp3

Если цифры в URL-адресе wget должны быть дополнены нулями -, вы можете использовать sprintf()awk для форматирования iс ведущими нулями.Например:

$ awk -v i=1 '/ \.mp3/ {sub(/ \.mp3/," "sprintf("%03i",i++)".mp3",$0)};1' input.txt
line 1
wget 001.mp3 url
line 2
wget 002.mp3

Вы также можете комбинировать sprintf()с опцией wget-O(--output-document)для сохранения загруженных файлов с нулевыми -дополненными именами файлов, чтобы они правильно сортировались (, например. 01,02,03,...10 вместо 1,10,2,3,...)

$ awk -v i=1 '/ \.mp3/ {sub(/ \.mp3/," "i".mp3 -O "sprintf("%03i",i++)".mp3",$0)};1' input.txt
line 1
wget 1.mp3 -O 001.mp3 url
line 2
wget 2.mp3 -O 002.mp3

Все вышеперечисленные лайнеры -будут выводиться на стандартный вывод. Чтобы перезаписать оригинал, перенаправьте его на новый файл и либо mvего, либо перезапишите оригинал.

awk -v i=1 '/ \.mp3/ {sub(/ \.mp3/," "i++".mp3",$0)};1' orig.txt > new.txt

и либо:

mv new.txt orig.txt

Это заменит orig.txtновым файлом, созданным с разрешениями, указанными текущим значением umask. У него также может быть новый владелец и/или группа (в зависимости от того, кто его запускает и какая у них группа по умолчанию ). У него также будет новый номер инода, который разорвет любые жесткие ссылки -, которые могут существовать.

Большинство программ, у которых есть опция «в -место редактирования» (, например. sed -iилиperl -i)сделайте это. В большинстве случаев это нормально, потому что он запускается тем же пользователем с тем же umask, что и у владельца исходного файла, и лишь немногие файлы имеют несколько жестких ссылок.

или

cat new.txt > orig.txt
rm new.txt

Это перезапишет содержимое orig.txtсодержимым new.txt, а затем удалит new.txt. orig.txtбудет иметь тот же индекс, владельца, группу и разрешения, что и раньше.

1
28.01.2020, 02:39

Теги

Похожие вопросы