Переместить файлы на один каталог вверх

Просто создайте третью группу захвата в соответствии ()регулярному выражению, чтобы сохранить имя файла, а затем напечатайте его в соответствующей строке:

$ cat tst.awk
BEGIN {
    print "<table>"
    print "\t<thead>"
    print "\t\t<tr>"
    print "\t\t\t<th>ver</th>"
    print "\t\t\t<th>link</th>"
    print "\t\t</tr>"
    print "\t</thead>"
    print "\t<tbody>"
}

match($0, /^ +(.*): (.*\/([^/]+))$/, r) {
    print "\t\t<tr>"
    printf "\t\t\t<td>%s</td>\n", r[1]
    printf "\t\t\t<td><a href=\"%s\">%s</a></td>\n", r[2], r[3]
    print "\t\t</tr>"
}

END {
    print "\t</tbody>"
    print "</table>"
}

.

$ awk -f tst.awk data.text
<table>
        <thead>
                <tr>
                        <th>ver</th>
                        <th>link</th>
                </tr>
        </thead>
        <tbody>
                <tr>
                        <td>1.0.1</td>
                        <td><a href="http://example.com/1.0.1.tgz">1.0.1.tgz</a></td>
                </tr>
                <tr>
                        <td>1.0.2</td>
                        <td><a href="http://example.com/1.0.2.tgz">1.0.2.tgz</a></td>
                </tr>
                <tr>
                        <td>1.0.3</td>
                        <td><a href="http://example.com/1.0.3.tgz">1.0.3.tgz</a></td>
                </tr>
                <tr>
                        <td>1.0.4</td>
                        <td><a href="http://example.com/1.0.4.tgz">1.0.4.tgz</a></td>
                </tr>
                <tr>
                        <td>1.0.5</td>
                        <td><a href="http://example.com/1.0.5.tgz">1.0.5.tgz</a></td>
                </tr>
                <tr>
                        <td>1.0.6</td>
                        <td><a href="http://example.com/1.0.6.tgz">1.0.6.tgz</a></td>
                </tr>
                <tr>
                        <td>1.0.7</td>
                        <td><a href="http://example.com/1.0.7.tgz">1.0.7.tgz</a></td>
                </tr>
                <tr>
                        <td>1.0.8</td>
                        <td><a href="http://example.com/1.0.8.tgz">1.0.8.tgz</a></td>
                </tr>
                <tr>
                        <td>1.0.9</td>
                        <td><a href="http://example.com/1.0.9.tgz">1.0.9.tgz</a></td>
                </tr>
                <tr>
                        <td>1.0.10</td>
                        <td><a href="http://example.com/1.0.10.tgz">1.0.10.tgz</a></td>
                </tr>
        </tbody>
</table>
0
14.01.2021, 16:56
2 ответа

Используйте подстановочный знак и затем удалите каталог:

mv /var/www/html/wordpress/* /var/www/html/ && rm -r /var/www/html/wordpress
0
18.03.2021, 22:37

Чтобы «переместить всю папку вверх на один уровень в структуре каталогов», как было задано, необходимо указать источник и место назначения.

Из :/var/www/html/wordpress/

В :/var/www/wordpress/

вам понадобится

$ mv /var/www/html/wordpress/ /var/www/wordpress/

Помните о нескольких пограничных случаях, например, если:

  1. каталог /var/www/wordpress уже существует до того, как вы попытаетесь переместить /var/www/html/wordpress на один уровень выше; или

  2. файлы (-)и каталоги (d )по сравнению с другими типами, такими как ссылки, сокеты, блочные устройства и т. д.Как они ведут себя на другом пути, например.

0
18.03.2021, 22:37

Теги

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