Czy jest możliwe cut
ciąg bez podziału wiersza?zapobiega nowej linii w komendzie cięcia
printf 'test.test'
drukuje test.test
bez nowej linii.
Ale jeśli zmniejszę wydajność o printf 'test.test' | cut -d. -f1
, istnieje nowa linia za test
.
Czy jest możliwe cut
ciąg bez podziału wiersza?zapobiega nowej linii w komendzie cięcia
printf 'test.test'
drukuje test.test
bez nowej linii.
Ale jeśli zmniejszę wydajność o printf 'test.test' | cut -d. -f1
, istnieje nowa linia za test
.
Nie, wiem. man cut
jest dość krótki i nie odzwierciedla niczego podobnego.
Zamiast tego można zapewnić wyjście cut
do printf
z here-string, tak, że nowa linia problem znowu zależy na printf
:
printf '%s' $(cut -d. -f1 <<< "test.test")
Jeśli nie trzeba używać cut
można osiągnąć ten sam wynik z awk
:
printf 'test.test' | awk -F. '{printf($1)}'
Dzięki! Najpierw miałem 'awk 'NR == 3 {printf" Moc sygnału WiFi = "$ 3 * 10/7}'/proc/net/wireless | wyciąć -d. -f1; printf "%% \ n" 'ale' cut' zrobił znak nowej linii, więc poprosiłem o rozwiązanie. Niemniej jednak, jeśli jest łatwiejszy sposób rozwiązania go za pomocą jednego polecenia awk, wolałbym to! (np. 'awk 'NR == 3 {print" Moc sygnału WiFi = "3 $ * 10/7"% "}'/proc/net/wireless' i odetnij wyjście '$ 3 * 10/7' po kropce) – mamiu
co powiesz na: 'printf (" Moc sygnału WiFi =% .0f %% ", 3 $ * 10/7)' (ostatnie %% odpowiada "%" w twoim kodzie awk). – isedev
powinieneś naprawdę przyjąć odpowiedź @ fedorqui - odpowiada ona faktycznemu wysłanemu pytaniu. Wysłałem swoją odpowiedź jako możliwą alternatywę wyłącznie do celów edukacyjnych. – isedev
Istnieje wiele sposobów. Oprócz isedev i odpowiedzi fedorqui męska, można również zrobić:
perl -ne '/^([^.]+)/ && print $1' <<< "test.test"
cut -d. -f1 <<< "test.test" | tr -d $'\n'
cut -d. -f1 <<< "test.test" | perl -pe 's/\n//'
while read -d. i; do printf "%s" "$i"; done <<< "test.test
Bardzo wszechstronny! +1 Czy konieczne jest użycie '$ '\ n'' na' tr -d'? Dla mnie 'tr -d '\ n'' działa dobrze. – fedorqui
@fedorqui huh, najwyraźniej nie. Myślę, że pamiętam, że kiedyś było, ale mogę się mylić. Być może zależy to od implementacji 'tr'. Zrobiłem to w ten sposób z przyzwyczajenia. – terdon
Co oznacza '$' (dolar) w 'tr -d $ '\ n''? –
Jak widzę, że komentarz na temat bardziej ogólny problem, ty” lepiej zaktualizuj pytanie, co dokładnie chcesz zrobić. – fedorqui