Добавление нового символа линии в ряд

Вам понадобится файл, заполненный ссылками.

#!/bin/bash

LIST="list.txt"

for row in `cat $LIST`; do
        wget -x $row
        sleep 5
done

Man:

‘-x’
‘--force-directories’
The opposite of ‘-nd’—create a hierarchy of directories, even if one would not have been created otherwise. E.g. ‘wget -x http://fly.srk.fer.hr/robots.txt’ will save the downloaded file to fly.srk.fer.hr/robots.txt.
0
10.10.2018, 23:26
3 ответа

Используйте pasteвместоtr:

$ cut -f2 temp1 | paste -s
73  74  75

проверка невидимых пробелов

$ cut -f2 temp1 | paste -s | od -c
0000000   7   3  \t   7   4  \t   7   5  \n
0000011
1
28.01.2020, 02:31
  cat file | cut -d' ' -f2 | xargs -n3
  73 74 75

и для проверки невидимых пробелов согласно @glenn jackman

cat file | cut -d' ' -f4 | xargs -n3 |  od -c

0000000   7   3       7   4       7   5  \n
0000011
1
28.01.2020, 02:31

Самый простой способ напечатать/испустить/перевести новую строку — использовать echo.

Казалось бы, достаточно просто добавить новую строку в созданный файл:

вырезать -f2 темп1 | tr '\n' '\t' > temp2 эхо >> темп2

Что можно сделать одной строкой, как:

{ cut -f2 temp1 | tr '\n'  '\t' ; echo ; } > temp2

То есть :, если табуляция в конце не является проблемой. Если это так, вам нужно либо удалить его, либо избежать его создания, любой из этих способов сделает это:

awk 'NR>1{printf( "%s\t",a)}{a=$2}END{print a}' temp1 >temp2

sed -n 's/[0-9]*[[:blank:]]*//;1{h;d};H;${g;y/\n/\t/;p}' temp1 >temp2

sed 's/[0-9]*[[:blank:]]*//' temp1 | paste -sd '\t' >temp2
0
28.01.2020, 02:31

Теги

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